package org.eclipse.iota.xtext.ui.contentassist.antlr.internal; 

import java.io.InputStream;
import org.eclipse.xtext.*;
import org.eclipse.xtext.parser.*;
import org.eclipse.xtext.parser.impl.*;
import org.eclipse.xtext.parsetree.*;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.xtext.parser.antlr.XtextTokenStream;
import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.DFA;
import org.eclipse.iota.xtext.services.IotaGrammarAccess;



import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;

@SuppressWarnings("all")
public class InternalIotaParser extends AbstractInternalContentAssistParser {
    public static final String[] tokenNames = new String[] {
        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_STRING", "RULE_BIG_INT", "RULE_BOOL", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'='", "'!='", "'<'", "'>'", "';'", "'property'", "'('", "')'", "','", "'sequent'", "'=>'", "'|'", "'proof'", "'#'", "'exists'", "':'", "'&'", "'['", "'+'", "'*'", "'/'", "'^'", "'-'", "']'"
    };
    public static final int RULE_ID=4;
    public static final int RULE_STRING=5;
    public static final int RULE_ANY_OTHER=12;
    public static final int RULE_BIG_INT=6;
    public static final int RULE_BOOL=7;
    public static final int RULE_INT=8;
    public static final int RULE_WS=11;
    public static final int RULE_SL_COMMENT=10;
    public static final int EOF=-1;
    public static final int RULE_ML_COMMENT=9;

        public InternalIotaParser(TokenStream input) {
            super(input);
        }
        

    public String[] getTokenNames() { return tokenNames; }
    public String getGrammarFileName() { return "../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g"; }


     
     	private IotaGrammarAccess grammarAccess;
     	
        public void setGrammarAccess(IotaGrammarAccess grammarAccess) {
        	this.grammarAccess = grammarAccess;
        }
        
        @Override
        protected Grammar getGrammar() {
        	return grammarAccess.getGrammar();
        }
        
        @Override
        protected String getValueForTokenName(String tokenName) {
        	return tokenName;
        }




    // $ANTLR start entryRuleModule
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:61:1: entryRuleModule : ruleModule EOF ;
    public final void entryRuleModule() throws RecognitionException {
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:62:1: ( ruleModule EOF )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:63:1: ruleModule EOF
            {
             before(grammarAccess.getModuleRule()); 
            pushFollow(FOLLOW_ruleModule_in_entryRuleModule61);
            ruleModule();
            _fsp--;

             after(grammarAccess.getModuleRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleModule68); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleModule


    // $ANTLR start ruleModule
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:70:1: ruleModule : ( ( rule__Module__DefinitionsAssignment )* ) ;
    public final void ruleModule() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:74:2: ( ( ( rule__Module__DefinitionsAssignment )* ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:75:1: ( ( rule__Module__DefinitionsAssignment )* )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:75:1: ( ( rule__Module__DefinitionsAssignment )* )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:76:1: ( rule__Module__DefinitionsAssignment )*
            {
             before(grammarAccess.getModuleAccess().getDefinitionsAssignment()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:77:1: ( rule__Module__DefinitionsAssignment )*
            loop1:
            do {
                int alt1=2;
                int LA1_0 = input.LA(1);

                if ( (LA1_0==18||LA1_0==22) ) {
                    alt1=1;
                }


                switch (alt1) {
            	case 1 :
            	    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:77:2: rule__Module__DefinitionsAssignment
            	    {
            	    pushFollow(FOLLOW_rule__Module__DefinitionsAssignment_in_ruleModule94);
            	    rule__Module__DefinitionsAssignment();
            	    _fsp--;


            	    }
            	    break;

            	default :
            	    break loop1;
                }
            } while (true);

             after(grammarAccess.getModuleAccess().getDefinitionsAssignment()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleModule


    // $ANTLR start entryRuleDefinition
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:89:1: entryRuleDefinition : ruleDefinition EOF ;
    public final void entryRuleDefinition() throws RecognitionException {
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:90:1: ( ruleDefinition EOF )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:91:1: ruleDefinition EOF
            {
             before(grammarAccess.getDefinitionRule()); 
            pushFollow(FOLLOW_ruleDefinition_in_entryRuleDefinition122);
            ruleDefinition();
            _fsp--;

             after(grammarAccess.getDefinitionRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleDefinition129); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleDefinition


    // $ANTLR start ruleDefinition
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:98:1: ruleDefinition : ( ( rule__Definition__Group__0 ) ) ;
    public final void ruleDefinition() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:102:2: ( ( ( rule__Definition__Group__0 ) ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:103:1: ( ( rule__Definition__Group__0 ) )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:103:1: ( ( rule__Definition__Group__0 ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:104:1: ( rule__Definition__Group__0 )
            {
             before(grammarAccess.getDefinitionAccess().getGroup()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:105:1: ( rule__Definition__Group__0 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:105:2: rule__Definition__Group__0
            {
            pushFollow(FOLLOW_rule__Definition__Group__0_in_ruleDefinition155);
            rule__Definition__Group__0();
            _fsp--;


            }

             after(grammarAccess.getDefinitionAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleDefinition


    // $ANTLR start entryRuleAlternation
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:117:1: entryRuleAlternation : ruleAlternation EOF ;
    public final void entryRuleAlternation() throws RecognitionException {
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:118:1: ( ruleAlternation EOF )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:119:1: ruleAlternation EOF
            {
             before(grammarAccess.getAlternationRule()); 
            pushFollow(FOLLOW_ruleAlternation_in_entryRuleAlternation182);
            ruleAlternation();
            _fsp--;

             after(grammarAccess.getAlternationRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleAlternation189); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleAlternation


    // $ANTLR start ruleAlternation
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:126:1: ruleAlternation : ( ( rule__Alternation__Group__0 ) ) ;
    public final void ruleAlternation() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:130:2: ( ( ( rule__Alternation__Group__0 ) ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:131:1: ( ( rule__Alternation__Group__0 ) )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:131:1: ( ( rule__Alternation__Group__0 ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:132:1: ( rule__Alternation__Group__0 )
            {
             before(grammarAccess.getAlternationAccess().getGroup()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:133:1: ( rule__Alternation__Group__0 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:133:2: rule__Alternation__Group__0
            {
            pushFollow(FOLLOW_rule__Alternation__Group__0_in_ruleAlternation215);
            rule__Alternation__Group__0();
            _fsp--;


            }

             after(grammarAccess.getAlternationAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleAlternation


    // $ANTLR start entryRuleParameter
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:145:1: entryRuleParameter : ruleParameter EOF ;
    public final void entryRuleParameter() throws RecognitionException {
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:146:1: ( ruleParameter EOF )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:147:1: ruleParameter EOF
            {
             before(grammarAccess.getParameterRule()); 
            pushFollow(FOLLOW_ruleParameter_in_entryRuleParameter242);
            ruleParameter();
            _fsp--;

             after(grammarAccess.getParameterRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleParameter249); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleParameter


    // $ANTLR start ruleParameter
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:154:1: ruleParameter : ( ( rule__Parameter__NameAssignment ) ) ;
    public final void ruleParameter() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:158:2: ( ( ( rule__Parameter__NameAssignment ) ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:159:1: ( ( rule__Parameter__NameAssignment ) )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:159:1: ( ( rule__Parameter__NameAssignment ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:160:1: ( rule__Parameter__NameAssignment )
            {
             before(grammarAccess.getParameterAccess().getNameAssignment()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:161:1: ( rule__Parameter__NameAssignment )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:161:2: rule__Parameter__NameAssignment
            {
            pushFollow(FOLLOW_rule__Parameter__NameAssignment_in_ruleParameter275);
            rule__Parameter__NameAssignment();
            _fsp--;


            }

             after(grammarAccess.getParameterAccess().getNameAssignment()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleParameter


    // $ANTLR start entryRuleProof
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:173:1: entryRuleProof : ruleProof EOF ;
    public final void entryRuleProof() throws RecognitionException {
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:174:1: ( ruleProof EOF )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:175:1: ruleProof EOF
            {
             before(grammarAccess.getProofRule()); 
            pushFollow(FOLLOW_ruleProof_in_entryRuleProof302);
            ruleProof();
            _fsp--;

             after(grammarAccess.getProofRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleProof309); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleProof


    // $ANTLR start ruleProof
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:182:1: ruleProof : ( ( rule__Proof__Group__0 ) ) ;
    public final void ruleProof() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:186:2: ( ( ( rule__Proof__Group__0 ) ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:187:1: ( ( rule__Proof__Group__0 ) )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:187:1: ( ( rule__Proof__Group__0 ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:188:1: ( rule__Proof__Group__0 )
            {
             before(grammarAccess.getProofAccess().getGroup()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:189:1: ( rule__Proof__Group__0 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:189:2: rule__Proof__Group__0
            {
            pushFollow(FOLLOW_rule__Proof__Group__0_in_ruleProof335);
            rule__Proof__Group__0();
            _fsp--;


            }

             after(grammarAccess.getProofAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleProof


    // $ANTLR start entryRuleStep
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:201:1: entryRuleStep : ruleStep EOF ;
    public final void entryRuleStep() throws RecognitionException {
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:202:1: ( ruleStep EOF )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:203:1: ruleStep EOF
            {
             before(grammarAccess.getStepRule()); 
            pushFollow(FOLLOW_ruleStep_in_entryRuleStep362);
            ruleStep();
            _fsp--;

             after(grammarAccess.getStepRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleStep369); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleStep


    // $ANTLR start ruleStep
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:210:1: ruleStep : ( ( rule__Step__Group__0 ) ) ;
    public final void ruleStep() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:214:2: ( ( ( rule__Step__Group__0 ) ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:215:1: ( ( rule__Step__Group__0 ) )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:215:1: ( ( rule__Step__Group__0 ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:216:1: ( rule__Step__Group__0 )
            {
             before(grammarAccess.getStepAccess().getGroup()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:217:1: ( rule__Step__Group__0 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:217:2: rule__Step__Group__0
            {
            pushFollow(FOLLOW_rule__Step__Group__0_in_ruleStep395);
            rule__Step__Group__0();
            _fsp--;


            }

             after(grammarAccess.getStepAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleStep


    // $ANTLR start entryRuleRule
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:229:1: entryRuleRule : ruleRule EOF ;
    public final void entryRuleRule() throws RecognitionException {
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:230:1: ( ruleRule EOF )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:231:1: ruleRule EOF
            {
             before(grammarAccess.getRuleRule()); 
            pushFollow(FOLLOW_ruleRule_in_entryRuleRule422);
            ruleRule();
            _fsp--;

             after(grammarAccess.getRuleRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleRule429); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleRule


    // $ANTLR start ruleRule
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:238:1: ruleRule : ( RULE_ID ) ;
    public final void ruleRule() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:242:2: ( ( RULE_ID ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:243:1: ( RULE_ID )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:243:1: ( RULE_ID )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:244:1: RULE_ID
            {
             before(grammarAccess.getRuleAccess().getIDTerminalRuleCall()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleRule455); 
             after(grammarAccess.getRuleAccess().getIDTerminalRuleCall()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleRule


    // $ANTLR start entryRuleClause
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:257:1: entryRuleClause : ruleClause EOF ;
    public final void entryRuleClause() throws RecognitionException {
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:258:1: ( ruleClause EOF )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:259:1: ruleClause EOF
            {
             before(grammarAccess.getClauseRule()); 
            pushFollow(FOLLOW_ruleClause_in_entryRuleClause481);
            ruleClause();
            _fsp--;

             after(grammarAccess.getClauseRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleClause488); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleClause


    // $ANTLR start ruleClause
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:266:1: ruleClause : ( ( rule__Clause__Group__0 ) ) ;
    public final void ruleClause() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:270:2: ( ( ( rule__Clause__Group__0 ) ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:271:1: ( ( rule__Clause__Group__0 ) )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:271:1: ( ( rule__Clause__Group__0 ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:272:1: ( rule__Clause__Group__0 )
            {
             before(grammarAccess.getClauseAccess().getGroup()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:273:1: ( rule__Clause__Group__0 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:273:2: rule__Clause__Group__0
            {
            pushFollow(FOLLOW_rule__Clause__Group__0_in_ruleClause514);
            rule__Clause__Group__0();
            _fsp--;


            }

             after(grammarAccess.getClauseAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleClause


    // $ANTLR start entryRuleExistential
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:285:1: entryRuleExistential : ruleExistential EOF ;
    public final void entryRuleExistential() throws RecognitionException {
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:286:1: ( ruleExistential EOF )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:287:1: ruleExistential EOF
            {
             before(grammarAccess.getExistentialRule()); 
            pushFollow(FOLLOW_ruleExistential_in_entryRuleExistential541);
            ruleExistential();
            _fsp--;

             after(grammarAccess.getExistentialRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleExistential548); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleExistential


    // $ANTLR start ruleExistential
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:294:1: ruleExistential : ( ( rule__Existential__NameAssignment ) ) ;
    public final void ruleExistential() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:298:2: ( ( ( rule__Existential__NameAssignment ) ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:299:1: ( ( rule__Existential__NameAssignment ) )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:299:1: ( ( rule__Existential__NameAssignment ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:300:1: ( rule__Existential__NameAssignment )
            {
             before(grammarAccess.getExistentialAccess().getNameAssignment()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:301:1: ( rule__Existential__NameAssignment )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:301:2: rule__Existential__NameAssignment
            {
            pushFollow(FOLLOW_rule__Existential__NameAssignment_in_ruleExistential574);
            rule__Existential__NameAssignment();
            _fsp--;


            }

             after(grammarAccess.getExistentialAccess().getNameAssignment()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleExistential


    // $ANTLR start entryRuleConstraint
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:313:1: entryRuleConstraint : ruleConstraint EOF ;
    public final void entryRuleConstraint() throws RecognitionException {
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:314:1: ( ruleConstraint EOF )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:315:1: ruleConstraint EOF
            {
             before(grammarAccess.getConstraintRule()); 
            pushFollow(FOLLOW_ruleConstraint_in_entryRuleConstraint601);
            ruleConstraint();
            _fsp--;

             after(grammarAccess.getConstraintRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleConstraint608); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleConstraint


    // $ANTLR start ruleConstraint
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:322:1: ruleConstraint : ( ( rule__Constraint__Alternatives ) ) ;
    public final void ruleConstraint() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:326:2: ( ( ( rule__Constraint__Alternatives ) ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:327:1: ( ( rule__Constraint__Alternatives ) )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:327:1: ( ( rule__Constraint__Alternatives ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:328:1: ( rule__Constraint__Alternatives )
            {
             before(grammarAccess.getConstraintAccess().getAlternatives()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:329:1: ( rule__Constraint__Alternatives )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:329:2: rule__Constraint__Alternatives
            {
            pushFollow(FOLLOW_rule__Constraint__Alternatives_in_ruleConstraint634);
            rule__Constraint__Alternatives();
            _fsp--;


            }

             after(grammarAccess.getConstraintAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleConstraint


    // $ANTLR start entryRuleBasicConstraint
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:341:1: entryRuleBasicConstraint : ruleBasicConstraint EOF ;
    public final void entryRuleBasicConstraint() throws RecognitionException {
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:342:1: ( ruleBasicConstraint EOF )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:343:1: ruleBasicConstraint EOF
            {
             before(grammarAccess.getBasicConstraintRule()); 
            pushFollow(FOLLOW_ruleBasicConstraint_in_entryRuleBasicConstraint661);
            ruleBasicConstraint();
            _fsp--;

             after(grammarAccess.getBasicConstraintRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleBasicConstraint668); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleBasicConstraint


    // $ANTLR start ruleBasicConstraint
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:350:1: ruleBasicConstraint : ( ( rule__BasicConstraint__Alternatives ) ) ;
    public final void ruleBasicConstraint() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:354:2: ( ( ( rule__BasicConstraint__Alternatives ) ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:355:1: ( ( rule__BasicConstraint__Alternatives ) )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:355:1: ( ( rule__BasicConstraint__Alternatives ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:356:1: ( rule__BasicConstraint__Alternatives )
            {
             before(grammarAccess.getBasicConstraintAccess().getAlternatives()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:357:1: ( rule__BasicConstraint__Alternatives )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:357:2: rule__BasicConstraint__Alternatives
            {
            pushFollow(FOLLOW_rule__BasicConstraint__Alternatives_in_ruleBasicConstraint694);
            rule__BasicConstraint__Alternatives();
            _fsp--;


            }

             after(grammarAccess.getBasicConstraintAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleBasicConstraint


    // $ANTLR start entryRuleBoolean
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:369:1: entryRuleBoolean : ruleBoolean EOF ;
    public final void entryRuleBoolean() throws RecognitionException {
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:370:1: ( ruleBoolean EOF )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:371:1: ruleBoolean EOF
            {
             before(grammarAccess.getBooleanRule()); 
            pushFollow(FOLLOW_ruleBoolean_in_entryRuleBoolean721);
            ruleBoolean();
            _fsp--;

             after(grammarAccess.getBooleanRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleBoolean728); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleBoolean


    // $ANTLR start ruleBoolean
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:378:1: ruleBoolean : ( ( rule__Boolean__ValueAssignment ) ) ;
    public final void ruleBoolean() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:382:2: ( ( ( rule__Boolean__ValueAssignment ) ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:383:1: ( ( rule__Boolean__ValueAssignment ) )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:383:1: ( ( rule__Boolean__ValueAssignment ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:384:1: ( rule__Boolean__ValueAssignment )
            {
             before(grammarAccess.getBooleanAccess().getValueAssignment()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:385:1: ( rule__Boolean__ValueAssignment )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:385:2: rule__Boolean__ValueAssignment
            {
            pushFollow(FOLLOW_rule__Boolean__ValueAssignment_in_ruleBoolean754);
            rule__Boolean__ValueAssignment();
            _fsp--;


            }

             after(grammarAccess.getBooleanAccess().getValueAssignment()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleBoolean


    // $ANTLR start entryRuleInclusion
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:397:1: entryRuleInclusion : ruleInclusion EOF ;
    public final void entryRuleInclusion() throws RecognitionException {
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:398:1: ( ruleInclusion EOF )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:399:1: ruleInclusion EOF
            {
             before(grammarAccess.getInclusionRule()); 
            pushFollow(FOLLOW_ruleInclusion_in_entryRuleInclusion781);
            ruleInclusion();
            _fsp--;

             after(grammarAccess.getInclusionRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleInclusion788); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleInclusion


    // $ANTLR start ruleInclusion
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:406:1: ruleInclusion : ( ( rule__Inclusion__Group__0 ) ) ;
    public final void ruleInclusion() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:410:2: ( ( ( rule__Inclusion__Group__0 ) ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:411:1: ( ( rule__Inclusion__Group__0 ) )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:411:1: ( ( rule__Inclusion__Group__0 ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:412:1: ( rule__Inclusion__Group__0 )
            {
             before(grammarAccess.getInclusionAccess().getGroup()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:413:1: ( rule__Inclusion__Group__0 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:413:2: rule__Inclusion__Group__0
            {
            pushFollow(FOLLOW_rule__Inclusion__Group__0_in_ruleInclusion814);
            rule__Inclusion__Group__0();
            _fsp--;


            }

             after(grammarAccess.getInclusionAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleInclusion


    // $ANTLR start entryRuleEquation
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:425:1: entryRuleEquation : ruleEquation EOF ;
    public final void entryRuleEquation() throws RecognitionException {
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:426:1: ( ruleEquation EOF )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:427:1: ruleEquation EOF
            {
             before(grammarAccess.getEquationRule()); 
            pushFollow(FOLLOW_ruleEquation_in_entryRuleEquation841);
            ruleEquation();
            _fsp--;

             after(grammarAccess.getEquationRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleEquation848); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleEquation


    // $ANTLR start ruleEquation
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:434:1: ruleEquation : ( ( rule__Equation__Group__0 ) ) ;
    public final void ruleEquation() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:438:2: ( ( ( rule__Equation__Group__0 ) ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:439:1: ( ( rule__Equation__Group__0 ) )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:439:1: ( ( rule__Equation__Group__0 ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:440:1: ( rule__Equation__Group__0 )
            {
             before(grammarAccess.getEquationAccess().getGroup()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:441:1: ( rule__Equation__Group__0 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:441:2: rule__Equation__Group__0
            {
            pushFollow(FOLLOW_rule__Equation__Group__0_in_ruleEquation874);
            rule__Equation__Group__0();
            _fsp--;


            }

             after(grammarAccess.getEquationAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleEquation


    // $ANTLR start entryRuleAddition
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:453:1: entryRuleAddition : ruleAddition EOF ;
    public final void entryRuleAddition() throws RecognitionException {
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:454:1: ( ruleAddition EOF )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:455:1: ruleAddition EOF
            {
             before(grammarAccess.getAdditionRule()); 
            pushFollow(FOLLOW_ruleAddition_in_entryRuleAddition901);
            ruleAddition();
            _fsp--;

             after(grammarAccess.getAdditionRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleAddition908); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleAddition


    // $ANTLR start ruleAddition
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:462:1: ruleAddition : ( ( rule__Addition__Group__0 ) ) ;
    public final void ruleAddition() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:466:2: ( ( ( rule__Addition__Group__0 ) ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:467:1: ( ( rule__Addition__Group__0 ) )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:467:1: ( ( rule__Addition__Group__0 ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:468:1: ( rule__Addition__Group__0 )
            {
             before(grammarAccess.getAdditionAccess().getGroup()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:469:1: ( rule__Addition__Group__0 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:469:2: rule__Addition__Group__0
            {
            pushFollow(FOLLOW_rule__Addition__Group__0_in_ruleAddition934);
            rule__Addition__Group__0();
            _fsp--;


            }

             after(grammarAccess.getAdditionAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleAddition


    // $ANTLR start entryRuleMultiplication
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:481:1: entryRuleMultiplication : ruleMultiplication EOF ;
    public final void entryRuleMultiplication() throws RecognitionException {
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:482:1: ( ruleMultiplication EOF )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:483:1: ruleMultiplication EOF
            {
             before(grammarAccess.getMultiplicationRule()); 
            pushFollow(FOLLOW_ruleMultiplication_in_entryRuleMultiplication961);
            ruleMultiplication();
            _fsp--;

             after(grammarAccess.getMultiplicationRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleMultiplication968); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleMultiplication


    // $ANTLR start ruleMultiplication
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:490:1: ruleMultiplication : ( ( rule__Multiplication__Group__0 ) ) ;
    public final void ruleMultiplication() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:494:2: ( ( ( rule__Multiplication__Group__0 ) ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:495:1: ( ( rule__Multiplication__Group__0 ) )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:495:1: ( ( rule__Multiplication__Group__0 ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:496:1: ( rule__Multiplication__Group__0 )
            {
             before(grammarAccess.getMultiplicationAccess().getGroup()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:497:1: ( rule__Multiplication__Group__0 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:497:2: rule__Multiplication__Group__0
            {
            pushFollow(FOLLOW_rule__Multiplication__Group__0_in_ruleMultiplication994);
            rule__Multiplication__Group__0();
            _fsp--;


            }

             after(grammarAccess.getMultiplicationAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleMultiplication


    // $ANTLR start entryRuleDivision
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:509:1: entryRuleDivision : ruleDivision EOF ;
    public final void entryRuleDivision() throws RecognitionException {
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:510:1: ( ruleDivision EOF )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:511:1: ruleDivision EOF
            {
             before(grammarAccess.getDivisionRule()); 
            pushFollow(FOLLOW_ruleDivision_in_entryRuleDivision1021);
            ruleDivision();
            _fsp--;

             after(grammarAccess.getDivisionRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleDivision1028); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleDivision


    // $ANTLR start ruleDivision
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:518:1: ruleDivision : ( ( rule__Division__Group__0 ) ) ;
    public final void ruleDivision() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:522:2: ( ( ( rule__Division__Group__0 ) ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:523:1: ( ( rule__Division__Group__0 ) )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:523:1: ( ( rule__Division__Group__0 ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:524:1: ( rule__Division__Group__0 )
            {
             before(grammarAccess.getDivisionAccess().getGroup()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:525:1: ( rule__Division__Group__0 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:525:2: rule__Division__Group__0
            {
            pushFollow(FOLLOW_rule__Division__Group__0_in_ruleDivision1054);
            rule__Division__Group__0();
            _fsp--;


            }

             after(grammarAccess.getDivisionAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleDivision


    // $ANTLR start entryRuleExponentiation
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:537:1: entryRuleExponentiation : ruleExponentiation EOF ;
    public final void entryRuleExponentiation() throws RecognitionException {
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:538:1: ( ruleExponentiation EOF )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:539:1: ruleExponentiation EOF
            {
             before(grammarAccess.getExponentiationRule()); 
            pushFollow(FOLLOW_ruleExponentiation_in_entryRuleExponentiation1081);
            ruleExponentiation();
            _fsp--;

             after(grammarAccess.getExponentiationRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleExponentiation1088); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleExponentiation


    // $ANTLR start ruleExponentiation
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:546:1: ruleExponentiation : ( ( rule__Exponentiation__Group__0 ) ) ;
    public final void ruleExponentiation() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:550:2: ( ( ( rule__Exponentiation__Group__0 ) ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:551:1: ( ( rule__Exponentiation__Group__0 ) )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:551:1: ( ( rule__Exponentiation__Group__0 ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:552:1: ( rule__Exponentiation__Group__0 )
            {
             before(grammarAccess.getExponentiationAccess().getGroup()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:553:1: ( rule__Exponentiation__Group__0 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:553:2: rule__Exponentiation__Group__0
            {
            pushFollow(FOLLOW_rule__Exponentiation__Group__0_in_ruleExponentiation1114);
            rule__Exponentiation__Group__0();
            _fsp--;


            }

             after(grammarAccess.getExponentiationAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleExponentiation


    // $ANTLR start entryRuleNegation
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:565:1: entryRuleNegation : ruleNegation EOF ;
    public final void entryRuleNegation() throws RecognitionException {
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:566:1: ( ruleNegation EOF )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:567:1: ruleNegation EOF
            {
             before(grammarAccess.getNegationRule()); 
            pushFollow(FOLLOW_ruleNegation_in_entryRuleNegation1141);
            ruleNegation();
            _fsp--;

             after(grammarAccess.getNegationRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleNegation1148); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleNegation


    // $ANTLR start ruleNegation
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:574:1: ruleNegation : ( ( rule__Negation__Group__0 ) ) ;
    public final void ruleNegation() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:578:2: ( ( ( rule__Negation__Group__0 ) ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:579:1: ( ( rule__Negation__Group__0 ) )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:579:1: ( ( rule__Negation__Group__0 ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:580:1: ( rule__Negation__Group__0 )
            {
             before(grammarAccess.getNegationAccess().getGroup()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:581:1: ( rule__Negation__Group__0 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:581:2: rule__Negation__Group__0
            {
            pushFollow(FOLLOW_rule__Negation__Group__0_in_ruleNegation1174);
            rule__Negation__Group__0();
            _fsp--;


            }

             after(grammarAccess.getNegationAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleNegation


    // $ANTLR start entryRuleTopLevelExpression
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:593:1: entryRuleTopLevelExpression : ruleTopLevelExpression EOF ;
    public final void entryRuleTopLevelExpression() throws RecognitionException {
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:594:1: ( ruleTopLevelExpression EOF )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:595:1: ruleTopLevelExpression EOF
            {
             before(grammarAccess.getTopLevelExpressionRule()); 
            pushFollow(FOLLOW_ruleTopLevelExpression_in_entryRuleTopLevelExpression1201);
            ruleTopLevelExpression();
            _fsp--;

             after(grammarAccess.getTopLevelExpressionRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleTopLevelExpression1208); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleTopLevelExpression


    // $ANTLR start ruleTopLevelExpression
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:602:1: ruleTopLevelExpression : ( ruleAddition ) ;
    public final void ruleTopLevelExpression() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:606:2: ( ( ruleAddition ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:607:1: ( ruleAddition )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:607:1: ( ruleAddition )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:608:1: ruleAddition
            {
             before(grammarAccess.getTopLevelExpressionAccess().getAdditionParserRuleCall()); 
            pushFollow(FOLLOW_ruleAddition_in_ruleTopLevelExpression1234);
            ruleAddition();
            _fsp--;

             after(grammarAccess.getTopLevelExpressionAccess().getAdditionParserRuleCall()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleTopLevelExpression


    // $ANTLR start entryRulePrimaryExpression
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:621:1: entryRulePrimaryExpression : rulePrimaryExpression EOF ;
    public final void entryRulePrimaryExpression() throws RecognitionException {
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:622:1: ( rulePrimaryExpression EOF )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:623:1: rulePrimaryExpression EOF
            {
             before(grammarAccess.getPrimaryExpressionRule()); 
            pushFollow(FOLLOW_rulePrimaryExpression_in_entryRulePrimaryExpression1260);
            rulePrimaryExpression();
            _fsp--;

             after(grammarAccess.getPrimaryExpressionRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRulePrimaryExpression1267); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRulePrimaryExpression


    // $ANTLR start rulePrimaryExpression
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:630:1: rulePrimaryExpression : ( ( rule__PrimaryExpression__Alternatives ) ) ;
    public final void rulePrimaryExpression() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:634:2: ( ( ( rule__PrimaryExpression__Alternatives ) ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:635:1: ( ( rule__PrimaryExpression__Alternatives ) )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:635:1: ( ( rule__PrimaryExpression__Alternatives ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:636:1: ( rule__PrimaryExpression__Alternatives )
            {
             before(grammarAccess.getPrimaryExpressionAccess().getAlternatives()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:637:1: ( rule__PrimaryExpression__Alternatives )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:637:2: rule__PrimaryExpression__Alternatives
            {
            pushFollow(FOLLOW_rule__PrimaryExpression__Alternatives_in_rulePrimaryExpression1293);
            rule__PrimaryExpression__Alternatives();
            _fsp--;


            }

             after(grammarAccess.getPrimaryExpressionAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rulePrimaryExpression


    // $ANTLR start entryRuleReference
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:649:1: entryRuleReference : ruleReference EOF ;
    public final void entryRuleReference() throws RecognitionException {
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:650:1: ( ruleReference EOF )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:651:1: ruleReference EOF
            {
             before(grammarAccess.getReferenceRule()); 
            pushFollow(FOLLOW_ruleReference_in_entryRuleReference1320);
            ruleReference();
            _fsp--;

             after(grammarAccess.getReferenceRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleReference1327); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleReference


    // $ANTLR start ruleReference
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:658:1: ruleReference : ( ( rule__Reference__VariableAssignment ) ) ;
    public final void ruleReference() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:662:2: ( ( ( rule__Reference__VariableAssignment ) ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:663:1: ( ( rule__Reference__VariableAssignment ) )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:663:1: ( ( rule__Reference__VariableAssignment ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:664:1: ( rule__Reference__VariableAssignment )
            {
             before(grammarAccess.getReferenceAccess().getVariableAssignment()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:665:1: ( rule__Reference__VariableAssignment )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:665:2: rule__Reference__VariableAssignment
            {
            pushFollow(FOLLOW_rule__Reference__VariableAssignment_in_ruleReference1353);
            rule__Reference__VariableAssignment();
            _fsp--;


            }

             after(grammarAccess.getReferenceAccess().getVariableAssignment()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleReference


    // $ANTLR start entryRuleConstant
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:677:1: entryRuleConstant : ruleConstant EOF ;
    public final void entryRuleConstant() throws RecognitionException {
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:678:1: ( ruleConstant EOF )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:679:1: ruleConstant EOF
            {
             before(grammarAccess.getConstantRule()); 
            pushFollow(FOLLOW_ruleConstant_in_entryRuleConstant1380);
            ruleConstant();
            _fsp--;

             after(grammarAccess.getConstantRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleConstant1387); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleConstant


    // $ANTLR start ruleConstant
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:686:1: ruleConstant : ( ( rule__Constant__ValueAssignment ) ) ;
    public final void ruleConstant() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:690:2: ( ( ( rule__Constant__ValueAssignment ) ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:691:1: ( ( rule__Constant__ValueAssignment ) )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:691:1: ( ( rule__Constant__ValueAssignment ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:692:1: ( rule__Constant__ValueAssignment )
            {
             before(grammarAccess.getConstantAccess().getValueAssignment()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:693:1: ( rule__Constant__ValueAssignment )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:693:2: rule__Constant__ValueAssignment
            {
            pushFollow(FOLLOW_rule__Constant__ValueAssignment_in_ruleConstant1413);
            rule__Constant__ValueAssignment();
            _fsp--;


            }

             after(grammarAccess.getConstantAccess().getValueAssignment()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleConstant


    // $ANTLR start ruleEquationType
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:706:1: ruleEquationType : ( ( rule__EquationType__Alternatives ) ) ;
    public final void ruleEquationType() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:710:1: ( ( ( rule__EquationType__Alternatives ) ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:711:1: ( ( rule__EquationType__Alternatives ) )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:711:1: ( ( rule__EquationType__Alternatives ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:712:1: ( rule__EquationType__Alternatives )
            {
             before(grammarAccess.getEquationTypeAccess().getAlternatives()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:713:1: ( rule__EquationType__Alternatives )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:713:2: rule__EquationType__Alternatives
            {
            pushFollow(FOLLOW_rule__EquationType__Alternatives_in_ruleEquationType1450);
            rule__EquationType__Alternatives();
            _fsp--;


            }

             after(grammarAccess.getEquationTypeAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleEquationType


    // $ANTLR start rule__Definition__Alternatives_0
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:724:1: rule__Definition__Alternatives_0 : ( ( ( rule__Definition__Group_0_0__0 ) ) | ( ( rule__Definition__Group_0_1__0 ) ) );
    public final void rule__Definition__Alternatives_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:728:1: ( ( ( rule__Definition__Group_0_0__0 ) ) | ( ( rule__Definition__Group_0_1__0 ) ) )
            int alt2=2;
            int LA2_0 = input.LA(1);

            if ( (LA2_0==18) ) {
                alt2=1;
            }
            else if ( (LA2_0==22) ) {
                alt2=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("724:1: rule__Definition__Alternatives_0 : ( ( ( rule__Definition__Group_0_0__0 ) ) | ( ( rule__Definition__Group_0_1__0 ) ) );", 2, 0, input);

                throw nvae;
            }
            switch (alt2) {
                case 1 :
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:729:1: ( ( rule__Definition__Group_0_0__0 ) )
                    {
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:729:1: ( ( rule__Definition__Group_0_0__0 ) )
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:730:1: ( rule__Definition__Group_0_0__0 )
                    {
                     before(grammarAccess.getDefinitionAccess().getGroup_0_0()); 
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:731:1: ( rule__Definition__Group_0_0__0 )
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:731:2: rule__Definition__Group_0_0__0
                    {
                    pushFollow(FOLLOW_rule__Definition__Group_0_0__0_in_rule__Definition__Alternatives_01485);
                    rule__Definition__Group_0_0__0();
                    _fsp--;


                    }

                     after(grammarAccess.getDefinitionAccess().getGroup_0_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:735:6: ( ( rule__Definition__Group_0_1__0 ) )
                    {
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:735:6: ( ( rule__Definition__Group_0_1__0 ) )
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:736:1: ( rule__Definition__Group_0_1__0 )
                    {
                     before(grammarAccess.getDefinitionAccess().getGroup_0_1()); 
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:737:1: ( rule__Definition__Group_0_1__0 )
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:737:2: rule__Definition__Group_0_1__0
                    {
                    pushFollow(FOLLOW_rule__Definition__Group_0_1__0_in_rule__Definition__Alternatives_01503);
                    rule__Definition__Group_0_1__0();
                    _fsp--;


                    }

                     after(grammarAccess.getDefinitionAccess().getGroup_0_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__Alternatives_0


    // $ANTLR start rule__Constraint__Alternatives
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:746:1: rule__Constraint__Alternatives : ( ( ( rule__Constraint__Group_0__0 ) ) | ( ruleBasicConstraint ) );
    public final void rule__Constraint__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:750:1: ( ( ( rule__Constraint__Group_0__0 ) ) | ( ruleBasicConstraint ) )
            int alt3=2;
            int LA3_0 = input.LA(1);

            if ( (LA3_0==30) ) {
                alt3=1;
            }
            else if ( (LA3_0==RULE_ID||(LA3_0>=RULE_BIG_INT && LA3_0<=RULE_BOOL)||LA3_0==19||LA3_0==35) ) {
                alt3=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("746:1: rule__Constraint__Alternatives : ( ( ( rule__Constraint__Group_0__0 ) ) | ( ruleBasicConstraint ) );", 3, 0, input);

                throw nvae;
            }
            switch (alt3) {
                case 1 :
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:751:1: ( ( rule__Constraint__Group_0__0 ) )
                    {
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:751:1: ( ( rule__Constraint__Group_0__0 ) )
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:752:1: ( rule__Constraint__Group_0__0 )
                    {
                     before(grammarAccess.getConstraintAccess().getGroup_0()); 
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:753:1: ( rule__Constraint__Group_0__0 )
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:753:2: rule__Constraint__Group_0__0
                    {
                    pushFollow(FOLLOW_rule__Constraint__Group_0__0_in_rule__Constraint__Alternatives1536);
                    rule__Constraint__Group_0__0();
                    _fsp--;


                    }

                     after(grammarAccess.getConstraintAccess().getGroup_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:757:6: ( ruleBasicConstraint )
                    {
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:757:6: ( ruleBasicConstraint )
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:758:1: ruleBasicConstraint
                    {
                     before(grammarAccess.getConstraintAccess().getBasicConstraintParserRuleCall_1()); 
                    pushFollow(FOLLOW_ruleBasicConstraint_in_rule__Constraint__Alternatives1554);
                    ruleBasicConstraint();
                    _fsp--;

                     after(grammarAccess.getConstraintAccess().getBasicConstraintParserRuleCall_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Constraint__Alternatives


    // $ANTLR start rule__BasicConstraint__Alternatives
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:768:1: rule__BasicConstraint__Alternatives : ( ( ruleBoolean ) | ( ruleInclusion ) | ( ruleEquation ) );
    public final void rule__BasicConstraint__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:772:1: ( ( ruleBoolean ) | ( ruleInclusion ) | ( ruleEquation ) )
            int alt4=3;
            switch ( input.LA(1) ) {
            case RULE_BOOL:
                {
                alt4=1;
                }
                break;
            case RULE_ID:
                {
                int LA4_2 = input.LA(2);

                if ( ((LA4_2>=13 && LA4_2<=16)||(LA4_2>=31 && LA4_2<=35)) ) {
                    alt4=3;
                }
                else if ( (LA4_2==19) ) {
                    alt4=2;
                }
                else {
                    NoViableAltException nvae =
                        new NoViableAltException("768:1: rule__BasicConstraint__Alternatives : ( ( ruleBoolean ) | ( ruleInclusion ) | ( ruleEquation ) );", 4, 2, input);

                    throw nvae;
                }
                }
                break;
            case RULE_BIG_INT:
            case 19:
            case 35:
                {
                alt4=3;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("768:1: rule__BasicConstraint__Alternatives : ( ( ruleBoolean ) | ( ruleInclusion ) | ( ruleEquation ) );", 4, 0, input);

                throw nvae;
            }

            switch (alt4) {
                case 1 :
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:773:1: ( ruleBoolean )
                    {
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:773:1: ( ruleBoolean )
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:774:1: ruleBoolean
                    {
                     before(grammarAccess.getBasicConstraintAccess().getBooleanParserRuleCall_0()); 
                    pushFollow(FOLLOW_ruleBoolean_in_rule__BasicConstraint__Alternatives1586);
                    ruleBoolean();
                    _fsp--;

                     after(grammarAccess.getBasicConstraintAccess().getBooleanParserRuleCall_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:779:6: ( ruleInclusion )
                    {
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:779:6: ( ruleInclusion )
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:780:1: ruleInclusion
                    {
                     before(grammarAccess.getBasicConstraintAccess().getInclusionParserRuleCall_1()); 
                    pushFollow(FOLLOW_ruleInclusion_in_rule__BasicConstraint__Alternatives1603);
                    ruleInclusion();
                    _fsp--;

                     after(grammarAccess.getBasicConstraintAccess().getInclusionParserRuleCall_1()); 

                    }


                    }
                    break;
                case 3 :
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:785:6: ( ruleEquation )
                    {
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:785:6: ( ruleEquation )
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:786:1: ruleEquation
                    {
                     before(grammarAccess.getBasicConstraintAccess().getEquationParserRuleCall_2()); 
                    pushFollow(FOLLOW_ruleEquation_in_rule__BasicConstraint__Alternatives1620);
                    ruleEquation();
                    _fsp--;

                     after(grammarAccess.getBasicConstraintAccess().getEquationParserRuleCall_2()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__BasicConstraint__Alternatives


    // $ANTLR start rule__Addition__Alternatives_1_1
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:796:1: rule__Addition__Alternatives_1_1 : ( ( ( rule__Addition__Group_1_1_0__0 ) ) | ( ( rule__Addition__OperandsAssignment_1_1_1 ) ) );
    public final void rule__Addition__Alternatives_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:800:1: ( ( ( rule__Addition__Group_1_1_0__0 ) ) | ( ( rule__Addition__OperandsAssignment_1_1_1 ) ) )
            int alt5=2;
            int LA5_0 = input.LA(1);

            if ( (LA5_0==31) ) {
                alt5=1;
            }
            else if ( (LA5_0==35) ) {
                alt5=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("796:1: rule__Addition__Alternatives_1_1 : ( ( ( rule__Addition__Group_1_1_0__0 ) ) | ( ( rule__Addition__OperandsAssignment_1_1_1 ) ) );", 5, 0, input);

                throw nvae;
            }
            switch (alt5) {
                case 1 :
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:801:1: ( ( rule__Addition__Group_1_1_0__0 ) )
                    {
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:801:1: ( ( rule__Addition__Group_1_1_0__0 ) )
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:802:1: ( rule__Addition__Group_1_1_0__0 )
                    {
                     before(grammarAccess.getAdditionAccess().getGroup_1_1_0()); 
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:803:1: ( rule__Addition__Group_1_1_0__0 )
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:803:2: rule__Addition__Group_1_1_0__0
                    {
                    pushFollow(FOLLOW_rule__Addition__Group_1_1_0__0_in_rule__Addition__Alternatives_1_11652);
                    rule__Addition__Group_1_1_0__0();
                    _fsp--;


                    }

                     after(grammarAccess.getAdditionAccess().getGroup_1_1_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:807:6: ( ( rule__Addition__OperandsAssignment_1_1_1 ) )
                    {
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:807:6: ( ( rule__Addition__OperandsAssignment_1_1_1 ) )
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:808:1: ( rule__Addition__OperandsAssignment_1_1_1 )
                    {
                     before(grammarAccess.getAdditionAccess().getOperandsAssignment_1_1_1()); 
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:809:1: ( rule__Addition__OperandsAssignment_1_1_1 )
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:809:2: rule__Addition__OperandsAssignment_1_1_1
                    {
                    pushFollow(FOLLOW_rule__Addition__OperandsAssignment_1_1_1_in_rule__Addition__Alternatives_1_11670);
                    rule__Addition__OperandsAssignment_1_1_1();
                    _fsp--;


                    }

                     after(grammarAccess.getAdditionAccess().getOperandsAssignment_1_1_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Addition__Alternatives_1_1


    // $ANTLR start rule__PrimaryExpression__Alternatives
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:818:1: rule__PrimaryExpression__Alternatives : ( ( ruleNegation ) | ( ruleConstant ) | ( ruleReference ) | ( ( rule__PrimaryExpression__Group_3__0 ) ) );
    public final void rule__PrimaryExpression__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:822:1: ( ( ruleNegation ) | ( ruleConstant ) | ( ruleReference ) | ( ( rule__PrimaryExpression__Group_3__0 ) ) )
            int alt6=4;
            switch ( input.LA(1) ) {
            case 35:
                {
                alt6=1;
                }
                break;
            case RULE_BIG_INT:
                {
                alt6=2;
                }
                break;
            case RULE_ID:
                {
                alt6=3;
                }
                break;
            case 19:
                {
                alt6=4;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("818:1: rule__PrimaryExpression__Alternatives : ( ( ruleNegation ) | ( ruleConstant ) | ( ruleReference ) | ( ( rule__PrimaryExpression__Group_3__0 ) ) );", 6, 0, input);

                throw nvae;
            }

            switch (alt6) {
                case 1 :
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:823:1: ( ruleNegation )
                    {
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:823:1: ( ruleNegation )
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:824:1: ruleNegation
                    {
                     before(grammarAccess.getPrimaryExpressionAccess().getNegationParserRuleCall_0()); 
                    pushFollow(FOLLOW_ruleNegation_in_rule__PrimaryExpression__Alternatives1703);
                    ruleNegation();
                    _fsp--;

                     after(grammarAccess.getPrimaryExpressionAccess().getNegationParserRuleCall_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:829:6: ( ruleConstant )
                    {
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:829:6: ( ruleConstant )
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:830:1: ruleConstant
                    {
                     before(grammarAccess.getPrimaryExpressionAccess().getConstantParserRuleCall_1()); 
                    pushFollow(FOLLOW_ruleConstant_in_rule__PrimaryExpression__Alternatives1720);
                    ruleConstant();
                    _fsp--;

                     after(grammarAccess.getPrimaryExpressionAccess().getConstantParserRuleCall_1()); 

                    }


                    }
                    break;
                case 3 :
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:835:6: ( ruleReference )
                    {
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:835:6: ( ruleReference )
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:836:1: ruleReference
                    {
                     before(grammarAccess.getPrimaryExpressionAccess().getReferenceParserRuleCall_2()); 
                    pushFollow(FOLLOW_ruleReference_in_rule__PrimaryExpression__Alternatives1737);
                    ruleReference();
                    _fsp--;

                     after(grammarAccess.getPrimaryExpressionAccess().getReferenceParserRuleCall_2()); 

                    }


                    }
                    break;
                case 4 :
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:841:6: ( ( rule__PrimaryExpression__Group_3__0 ) )
                    {
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:841:6: ( ( rule__PrimaryExpression__Group_3__0 ) )
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:842:1: ( rule__PrimaryExpression__Group_3__0 )
                    {
                     before(grammarAccess.getPrimaryExpressionAccess().getGroup_3()); 
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:843:1: ( rule__PrimaryExpression__Group_3__0 )
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:843:2: rule__PrimaryExpression__Group_3__0
                    {
                    pushFollow(FOLLOW_rule__PrimaryExpression__Group_3__0_in_rule__PrimaryExpression__Alternatives1754);
                    rule__PrimaryExpression__Group_3__0();
                    _fsp--;


                    }

                     after(grammarAccess.getPrimaryExpressionAccess().getGroup_3()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PrimaryExpression__Alternatives


    // $ANTLR start rule__EquationType__Alternatives
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:852:1: rule__EquationType__Alternatives : ( ( ( '=' ) ) | ( ( '!=' ) ) | ( ( '<' ) ) | ( ( '>' ) ) );
    public final void rule__EquationType__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:856:1: ( ( ( '=' ) ) | ( ( '!=' ) ) | ( ( '<' ) ) | ( ( '>' ) ) )
            int alt7=4;
            switch ( input.LA(1) ) {
            case 13:
                {
                alt7=1;
                }
                break;
            case 14:
                {
                alt7=2;
                }
                break;
            case 15:
                {
                alt7=3;
                }
                break;
            case 16:
                {
                alt7=4;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("852:1: rule__EquationType__Alternatives : ( ( ( '=' ) ) | ( ( '!=' ) ) | ( ( '<' ) ) | ( ( '>' ) ) );", 7, 0, input);

                throw nvae;
            }

            switch (alt7) {
                case 1 :
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:857:1: ( ( '=' ) )
                    {
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:857:1: ( ( '=' ) )
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:858:1: ( '=' )
                    {
                     before(grammarAccess.getEquationTypeAccess().getEQUALEnumLiteralDeclaration_0()); 
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:859:1: ( '=' )
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:859:3: '='
                    {
                    match(input,13,FOLLOW_13_in_rule__EquationType__Alternatives1788); 

                    }

                     after(grammarAccess.getEquationTypeAccess().getEQUALEnumLiteralDeclaration_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:864:6: ( ( '!=' ) )
                    {
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:864:6: ( ( '!=' ) )
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:865:1: ( '!=' )
                    {
                     before(grammarAccess.getEquationTypeAccess().getNOT_EQUALEnumLiteralDeclaration_1()); 
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:866:1: ( '!=' )
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:866:3: '!='
                    {
                    match(input,14,FOLLOW_14_in_rule__EquationType__Alternatives1809); 

                    }

                     after(grammarAccess.getEquationTypeAccess().getNOT_EQUALEnumLiteralDeclaration_1()); 

                    }


                    }
                    break;
                case 3 :
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:871:6: ( ( '<' ) )
                    {
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:871:6: ( ( '<' ) )
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:872:1: ( '<' )
                    {
                     before(grammarAccess.getEquationTypeAccess().getLESSEnumLiteralDeclaration_2()); 
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:873:1: ( '<' )
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:873:3: '<'
                    {
                    match(input,15,FOLLOW_15_in_rule__EquationType__Alternatives1830); 

                    }

                     after(grammarAccess.getEquationTypeAccess().getLESSEnumLiteralDeclaration_2()); 

                    }


                    }
                    break;
                case 4 :
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:878:6: ( ( '>' ) )
                    {
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:878:6: ( ( '>' ) )
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:879:1: ( '>' )
                    {
                     before(grammarAccess.getEquationTypeAccess().getGREATEREnumLiteralDeclaration_3()); 
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:880:1: ( '>' )
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:880:3: '>'
                    {
                    match(input,16,FOLLOW_16_in_rule__EquationType__Alternatives1851); 

                    }

                     after(grammarAccess.getEquationTypeAccess().getGREATEREnumLiteralDeclaration_3()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__EquationType__Alternatives


    // $ANTLR start rule__Definition__Group__0
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:892:1: rule__Definition__Group__0 : rule__Definition__Group__0__Impl rule__Definition__Group__1 ;
    public final void rule__Definition__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:896:1: ( rule__Definition__Group__0__Impl rule__Definition__Group__1 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:897:2: rule__Definition__Group__0__Impl rule__Definition__Group__1
            {
            pushFollow(FOLLOW_rule__Definition__Group__0__Impl_in_rule__Definition__Group__01884);
            rule__Definition__Group__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Definition__Group__1_in_rule__Definition__Group__01887);
            rule__Definition__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__Group__0


    // $ANTLR start rule__Definition__Group__0__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:904:1: rule__Definition__Group__0__Impl : ( ( rule__Definition__Alternatives_0 ) ) ;
    public final void rule__Definition__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:908:1: ( ( ( rule__Definition__Alternatives_0 ) ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:909:1: ( ( rule__Definition__Alternatives_0 ) )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:909:1: ( ( rule__Definition__Alternatives_0 ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:910:1: ( rule__Definition__Alternatives_0 )
            {
             before(grammarAccess.getDefinitionAccess().getAlternatives_0()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:911:1: ( rule__Definition__Alternatives_0 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:911:2: rule__Definition__Alternatives_0
            {
            pushFollow(FOLLOW_rule__Definition__Alternatives_0_in_rule__Definition__Group__0__Impl1914);
            rule__Definition__Alternatives_0();
            _fsp--;


            }

             after(grammarAccess.getDefinitionAccess().getAlternatives_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__Group__0__Impl


    // $ANTLR start rule__Definition__Group__1
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:921:1: rule__Definition__Group__1 : rule__Definition__Group__1__Impl ;
    public final void rule__Definition__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:925:1: ( rule__Definition__Group__1__Impl )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:926:2: rule__Definition__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__Definition__Group__1__Impl_in_rule__Definition__Group__11944);
            rule__Definition__Group__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__Group__1


    // $ANTLR start rule__Definition__Group__1__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:932:1: rule__Definition__Group__1__Impl : ( ';' ) ;
    public final void rule__Definition__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:936:1: ( ( ';' ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:937:1: ( ';' )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:937:1: ( ';' )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:938:1: ';'
            {
             before(grammarAccess.getDefinitionAccess().getSemicolonKeyword_1()); 
            match(input,17,FOLLOW_17_in_rule__Definition__Group__1__Impl1972); 
             after(grammarAccess.getDefinitionAccess().getSemicolonKeyword_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__Group__1__Impl


    // $ANTLR start rule__Definition__Group_0_0__0
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:955:1: rule__Definition__Group_0_0__0 : rule__Definition__Group_0_0__0__Impl rule__Definition__Group_0_0__1 ;
    public final void rule__Definition__Group_0_0__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:959:1: ( rule__Definition__Group_0_0__0__Impl rule__Definition__Group_0_0__1 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:960:2: rule__Definition__Group_0_0__0__Impl rule__Definition__Group_0_0__1
            {
            pushFollow(FOLLOW_rule__Definition__Group_0_0__0__Impl_in_rule__Definition__Group_0_0__02007);
            rule__Definition__Group_0_0__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Definition__Group_0_0__1_in_rule__Definition__Group_0_0__02010);
            rule__Definition__Group_0_0__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__Group_0_0__0


    // $ANTLR start rule__Definition__Group_0_0__0__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:967:1: rule__Definition__Group_0_0__0__Impl : ( 'property' ) ;
    public final void rule__Definition__Group_0_0__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:971:1: ( ( 'property' ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:972:1: ( 'property' )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:972:1: ( 'property' )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:973:1: 'property'
            {
             before(grammarAccess.getDefinitionAccess().getPropertyKeyword_0_0_0()); 
            match(input,18,FOLLOW_18_in_rule__Definition__Group_0_0__0__Impl2038); 
             after(grammarAccess.getDefinitionAccess().getPropertyKeyword_0_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__Group_0_0__0__Impl


    // $ANTLR start rule__Definition__Group_0_0__1
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:986:1: rule__Definition__Group_0_0__1 : rule__Definition__Group_0_0__1__Impl rule__Definition__Group_0_0__2 ;
    public final void rule__Definition__Group_0_0__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:990:1: ( rule__Definition__Group_0_0__1__Impl rule__Definition__Group_0_0__2 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:991:2: rule__Definition__Group_0_0__1__Impl rule__Definition__Group_0_0__2
            {
            pushFollow(FOLLOW_rule__Definition__Group_0_0__1__Impl_in_rule__Definition__Group_0_0__12069);
            rule__Definition__Group_0_0__1__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Definition__Group_0_0__2_in_rule__Definition__Group_0_0__12072);
            rule__Definition__Group_0_0__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__Group_0_0__1


    // $ANTLR start rule__Definition__Group_0_0__1__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:998:1: rule__Definition__Group_0_0__1__Impl : ( () ) ;
    public final void rule__Definition__Group_0_0__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1002:1: ( ( () ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1003:1: ( () )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1003:1: ( () )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1004:1: ()
            {
             before(grammarAccess.getDefinitionAccess().getPropertyAction_0_0_1()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1005:1: ()
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1007:1: 
            {
            }

             after(grammarAccess.getDefinitionAccess().getPropertyAction_0_0_1()); 

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__Group_0_0__1__Impl


    // $ANTLR start rule__Definition__Group_0_0__2
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1017:1: rule__Definition__Group_0_0__2 : rule__Definition__Group_0_0__2__Impl rule__Definition__Group_0_0__3 ;
    public final void rule__Definition__Group_0_0__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1021:1: ( rule__Definition__Group_0_0__2__Impl rule__Definition__Group_0_0__3 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1022:2: rule__Definition__Group_0_0__2__Impl rule__Definition__Group_0_0__3
            {
            pushFollow(FOLLOW_rule__Definition__Group_0_0__2__Impl_in_rule__Definition__Group_0_0__22130);
            rule__Definition__Group_0_0__2__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Definition__Group_0_0__3_in_rule__Definition__Group_0_0__22133);
            rule__Definition__Group_0_0__3();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__Group_0_0__2


    // $ANTLR start rule__Definition__Group_0_0__2__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1029:1: rule__Definition__Group_0_0__2__Impl : ( ( rule__Definition__NameAssignment_0_0_2 ) ) ;
    public final void rule__Definition__Group_0_0__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1033:1: ( ( ( rule__Definition__NameAssignment_0_0_2 ) ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1034:1: ( ( rule__Definition__NameAssignment_0_0_2 ) )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1034:1: ( ( rule__Definition__NameAssignment_0_0_2 ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1035:1: ( rule__Definition__NameAssignment_0_0_2 )
            {
             before(grammarAccess.getDefinitionAccess().getNameAssignment_0_0_2()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1036:1: ( rule__Definition__NameAssignment_0_0_2 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1036:2: rule__Definition__NameAssignment_0_0_2
            {
            pushFollow(FOLLOW_rule__Definition__NameAssignment_0_0_2_in_rule__Definition__Group_0_0__2__Impl2160);
            rule__Definition__NameAssignment_0_0_2();
            _fsp--;


            }

             after(grammarAccess.getDefinitionAccess().getNameAssignment_0_0_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__Group_0_0__2__Impl


    // $ANTLR start rule__Definition__Group_0_0__3
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1046:1: rule__Definition__Group_0_0__3 : rule__Definition__Group_0_0__3__Impl rule__Definition__Group_0_0__4 ;
    public final void rule__Definition__Group_0_0__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1050:1: ( rule__Definition__Group_0_0__3__Impl rule__Definition__Group_0_0__4 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1051:2: rule__Definition__Group_0_0__3__Impl rule__Definition__Group_0_0__4
            {
            pushFollow(FOLLOW_rule__Definition__Group_0_0__3__Impl_in_rule__Definition__Group_0_0__32190);
            rule__Definition__Group_0_0__3__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Definition__Group_0_0__4_in_rule__Definition__Group_0_0__32193);
            rule__Definition__Group_0_0__4();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__Group_0_0__3


    // $ANTLR start rule__Definition__Group_0_0__3__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1058:1: rule__Definition__Group_0_0__3__Impl : ( '(' ) ;
    public final void rule__Definition__Group_0_0__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1062:1: ( ( '(' ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1063:1: ( '(' )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1063:1: ( '(' )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1064:1: '('
            {
             before(grammarAccess.getDefinitionAccess().getLeftParenthesisKeyword_0_0_3()); 
            match(input,19,FOLLOW_19_in_rule__Definition__Group_0_0__3__Impl2221); 
             after(grammarAccess.getDefinitionAccess().getLeftParenthesisKeyword_0_0_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__Group_0_0__3__Impl


    // $ANTLR start rule__Definition__Group_0_0__4
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1077:1: rule__Definition__Group_0_0__4 : rule__Definition__Group_0_0__4__Impl rule__Definition__Group_0_0__5 ;
    public final void rule__Definition__Group_0_0__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1081:1: ( rule__Definition__Group_0_0__4__Impl rule__Definition__Group_0_0__5 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1082:2: rule__Definition__Group_0_0__4__Impl rule__Definition__Group_0_0__5
            {
            pushFollow(FOLLOW_rule__Definition__Group_0_0__4__Impl_in_rule__Definition__Group_0_0__42252);
            rule__Definition__Group_0_0__4__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Definition__Group_0_0__5_in_rule__Definition__Group_0_0__42255);
            rule__Definition__Group_0_0__5();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__Group_0_0__4


    // $ANTLR start rule__Definition__Group_0_0__4__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1089:1: rule__Definition__Group_0_0__4__Impl : ( ( rule__Definition__Group_0_0_4__0 )? ) ;
    public final void rule__Definition__Group_0_0__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1093:1: ( ( ( rule__Definition__Group_0_0_4__0 )? ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1094:1: ( ( rule__Definition__Group_0_0_4__0 )? )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1094:1: ( ( rule__Definition__Group_0_0_4__0 )? )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1095:1: ( rule__Definition__Group_0_0_4__0 )?
            {
             before(grammarAccess.getDefinitionAccess().getGroup_0_0_4()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1096:1: ( rule__Definition__Group_0_0_4__0 )?
            int alt8=2;
            int LA8_0 = input.LA(1);

            if ( (LA8_0==RULE_ID) ) {
                alt8=1;
            }
            switch (alt8) {
                case 1 :
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1096:2: rule__Definition__Group_0_0_4__0
                    {
                    pushFollow(FOLLOW_rule__Definition__Group_0_0_4__0_in_rule__Definition__Group_0_0__4__Impl2282);
                    rule__Definition__Group_0_0_4__0();
                    _fsp--;


                    }
                    break;

            }

             after(grammarAccess.getDefinitionAccess().getGroup_0_0_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__Group_0_0__4__Impl


    // $ANTLR start rule__Definition__Group_0_0__5
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1106:1: rule__Definition__Group_0_0__5 : rule__Definition__Group_0_0__5__Impl rule__Definition__Group_0_0__6 ;
    public final void rule__Definition__Group_0_0__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1110:1: ( rule__Definition__Group_0_0__5__Impl rule__Definition__Group_0_0__6 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1111:2: rule__Definition__Group_0_0__5__Impl rule__Definition__Group_0_0__6
            {
            pushFollow(FOLLOW_rule__Definition__Group_0_0__5__Impl_in_rule__Definition__Group_0_0__52313);
            rule__Definition__Group_0_0__5__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Definition__Group_0_0__6_in_rule__Definition__Group_0_0__52316);
            rule__Definition__Group_0_0__6();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__Group_0_0__5


    // $ANTLR start rule__Definition__Group_0_0__5__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1118:1: rule__Definition__Group_0_0__5__Impl : ( ')' ) ;
    public final void rule__Definition__Group_0_0__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1122:1: ( ( ')' ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1123:1: ( ')' )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1123:1: ( ')' )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1124:1: ')'
            {
             before(grammarAccess.getDefinitionAccess().getRightParenthesisKeyword_0_0_5()); 
            match(input,20,FOLLOW_20_in_rule__Definition__Group_0_0__5__Impl2344); 
             after(grammarAccess.getDefinitionAccess().getRightParenthesisKeyword_0_0_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__Group_0_0__5__Impl


    // $ANTLR start rule__Definition__Group_0_0__6
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1137:1: rule__Definition__Group_0_0__6 : rule__Definition__Group_0_0__6__Impl ;
    public final void rule__Definition__Group_0_0__6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1141:1: ( rule__Definition__Group_0_0__6__Impl )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1142:2: rule__Definition__Group_0_0__6__Impl
            {
            pushFollow(FOLLOW_rule__Definition__Group_0_0__6__Impl_in_rule__Definition__Group_0_0__62375);
            rule__Definition__Group_0_0__6__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__Group_0_0__6


    // $ANTLR start rule__Definition__Group_0_0__6__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1148:1: rule__Definition__Group_0_0__6__Impl : ( ( rule__Definition__BodyAssignment_0_0_6 ) ) ;
    public final void rule__Definition__Group_0_0__6__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1152:1: ( ( ( rule__Definition__BodyAssignment_0_0_6 ) ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1153:1: ( ( rule__Definition__BodyAssignment_0_0_6 ) )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1153:1: ( ( rule__Definition__BodyAssignment_0_0_6 ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1154:1: ( rule__Definition__BodyAssignment_0_0_6 )
            {
             before(grammarAccess.getDefinitionAccess().getBodyAssignment_0_0_6()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1155:1: ( rule__Definition__BodyAssignment_0_0_6 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1155:2: rule__Definition__BodyAssignment_0_0_6
            {
            pushFollow(FOLLOW_rule__Definition__BodyAssignment_0_0_6_in_rule__Definition__Group_0_0__6__Impl2402);
            rule__Definition__BodyAssignment_0_0_6();
            _fsp--;


            }

             after(grammarAccess.getDefinitionAccess().getBodyAssignment_0_0_6()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__Group_0_0__6__Impl


    // $ANTLR start rule__Definition__Group_0_0_4__0
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1179:1: rule__Definition__Group_0_0_4__0 : rule__Definition__Group_0_0_4__0__Impl rule__Definition__Group_0_0_4__1 ;
    public final void rule__Definition__Group_0_0_4__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1183:1: ( rule__Definition__Group_0_0_4__0__Impl rule__Definition__Group_0_0_4__1 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1184:2: rule__Definition__Group_0_0_4__0__Impl rule__Definition__Group_0_0_4__1
            {
            pushFollow(FOLLOW_rule__Definition__Group_0_0_4__0__Impl_in_rule__Definition__Group_0_0_4__02446);
            rule__Definition__Group_0_0_4__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Definition__Group_0_0_4__1_in_rule__Definition__Group_0_0_4__02449);
            rule__Definition__Group_0_0_4__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__Group_0_0_4__0


    // $ANTLR start rule__Definition__Group_0_0_4__0__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1191:1: rule__Definition__Group_0_0_4__0__Impl : ( ( rule__Definition__ParametersAssignment_0_0_4_0 ) ) ;
    public final void rule__Definition__Group_0_0_4__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1195:1: ( ( ( rule__Definition__ParametersAssignment_0_0_4_0 ) ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1196:1: ( ( rule__Definition__ParametersAssignment_0_0_4_0 ) )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1196:1: ( ( rule__Definition__ParametersAssignment_0_0_4_0 ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1197:1: ( rule__Definition__ParametersAssignment_0_0_4_0 )
            {
             before(grammarAccess.getDefinitionAccess().getParametersAssignment_0_0_4_0()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1198:1: ( rule__Definition__ParametersAssignment_0_0_4_0 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1198:2: rule__Definition__ParametersAssignment_0_0_4_0
            {
            pushFollow(FOLLOW_rule__Definition__ParametersAssignment_0_0_4_0_in_rule__Definition__Group_0_0_4__0__Impl2476);
            rule__Definition__ParametersAssignment_0_0_4_0();
            _fsp--;


            }

             after(grammarAccess.getDefinitionAccess().getParametersAssignment_0_0_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__Group_0_0_4__0__Impl


    // $ANTLR start rule__Definition__Group_0_0_4__1
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1208:1: rule__Definition__Group_0_0_4__1 : rule__Definition__Group_0_0_4__1__Impl ;
    public final void rule__Definition__Group_0_0_4__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1212:1: ( rule__Definition__Group_0_0_4__1__Impl )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1213:2: rule__Definition__Group_0_0_4__1__Impl
            {
            pushFollow(FOLLOW_rule__Definition__Group_0_0_4__1__Impl_in_rule__Definition__Group_0_0_4__12506);
            rule__Definition__Group_0_0_4__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__Group_0_0_4__1


    // $ANTLR start rule__Definition__Group_0_0_4__1__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1219:1: rule__Definition__Group_0_0_4__1__Impl : ( ( rule__Definition__Group_0_0_4_1__0 )* ) ;
    public final void rule__Definition__Group_0_0_4__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1223:1: ( ( ( rule__Definition__Group_0_0_4_1__0 )* ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1224:1: ( ( rule__Definition__Group_0_0_4_1__0 )* )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1224:1: ( ( rule__Definition__Group_0_0_4_1__0 )* )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1225:1: ( rule__Definition__Group_0_0_4_1__0 )*
            {
             before(grammarAccess.getDefinitionAccess().getGroup_0_0_4_1()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1226:1: ( rule__Definition__Group_0_0_4_1__0 )*
            loop9:
            do {
                int alt9=2;
                int LA9_0 = input.LA(1);

                if ( (LA9_0==21) ) {
                    alt9=1;
                }


                switch (alt9) {
            	case 1 :
            	    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1226:2: rule__Definition__Group_0_0_4_1__0
            	    {
            	    pushFollow(FOLLOW_rule__Definition__Group_0_0_4_1__0_in_rule__Definition__Group_0_0_4__1__Impl2533);
            	    rule__Definition__Group_0_0_4_1__0();
            	    _fsp--;


            	    }
            	    break;

            	default :
            	    break loop9;
                }
            } while (true);

             after(grammarAccess.getDefinitionAccess().getGroup_0_0_4_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__Group_0_0_4__1__Impl


    // $ANTLR start rule__Definition__Group_0_0_4_1__0
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1240:1: rule__Definition__Group_0_0_4_1__0 : rule__Definition__Group_0_0_4_1__0__Impl rule__Definition__Group_0_0_4_1__1 ;
    public final void rule__Definition__Group_0_0_4_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1244:1: ( rule__Definition__Group_0_0_4_1__0__Impl rule__Definition__Group_0_0_4_1__1 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1245:2: rule__Definition__Group_0_0_4_1__0__Impl rule__Definition__Group_0_0_4_1__1
            {
            pushFollow(FOLLOW_rule__Definition__Group_0_0_4_1__0__Impl_in_rule__Definition__Group_0_0_4_1__02568);
            rule__Definition__Group_0_0_4_1__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Definition__Group_0_0_4_1__1_in_rule__Definition__Group_0_0_4_1__02571);
            rule__Definition__Group_0_0_4_1__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__Group_0_0_4_1__0


    // $ANTLR start rule__Definition__Group_0_0_4_1__0__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1252:1: rule__Definition__Group_0_0_4_1__0__Impl : ( ',' ) ;
    public final void rule__Definition__Group_0_0_4_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1256:1: ( ( ',' ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1257:1: ( ',' )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1257:1: ( ',' )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1258:1: ','
            {
             before(grammarAccess.getDefinitionAccess().getCommaKeyword_0_0_4_1_0()); 
            match(input,21,FOLLOW_21_in_rule__Definition__Group_0_0_4_1__0__Impl2599); 
             after(grammarAccess.getDefinitionAccess().getCommaKeyword_0_0_4_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__Group_0_0_4_1__0__Impl


    // $ANTLR start rule__Definition__Group_0_0_4_1__1
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1271:1: rule__Definition__Group_0_0_4_1__1 : rule__Definition__Group_0_0_4_1__1__Impl ;
    public final void rule__Definition__Group_0_0_4_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1275:1: ( rule__Definition__Group_0_0_4_1__1__Impl )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1276:2: rule__Definition__Group_0_0_4_1__1__Impl
            {
            pushFollow(FOLLOW_rule__Definition__Group_0_0_4_1__1__Impl_in_rule__Definition__Group_0_0_4_1__12630);
            rule__Definition__Group_0_0_4_1__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__Group_0_0_4_1__1


    // $ANTLR start rule__Definition__Group_0_0_4_1__1__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1282:1: rule__Definition__Group_0_0_4_1__1__Impl : ( ( rule__Definition__ParametersAssignment_0_0_4_1_1 ) ) ;
    public final void rule__Definition__Group_0_0_4_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1286:1: ( ( ( rule__Definition__ParametersAssignment_0_0_4_1_1 ) ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1287:1: ( ( rule__Definition__ParametersAssignment_0_0_4_1_1 ) )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1287:1: ( ( rule__Definition__ParametersAssignment_0_0_4_1_1 ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1288:1: ( rule__Definition__ParametersAssignment_0_0_4_1_1 )
            {
             before(grammarAccess.getDefinitionAccess().getParametersAssignment_0_0_4_1_1()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1289:1: ( rule__Definition__ParametersAssignment_0_0_4_1_1 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1289:2: rule__Definition__ParametersAssignment_0_0_4_1_1
            {
            pushFollow(FOLLOW_rule__Definition__ParametersAssignment_0_0_4_1_1_in_rule__Definition__Group_0_0_4_1__1__Impl2657);
            rule__Definition__ParametersAssignment_0_0_4_1_1();
            _fsp--;


            }

             after(grammarAccess.getDefinitionAccess().getParametersAssignment_0_0_4_1_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__Group_0_0_4_1__1__Impl


    // $ANTLR start rule__Definition__Group_0_1__0
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1303:1: rule__Definition__Group_0_1__0 : rule__Definition__Group_0_1__0__Impl rule__Definition__Group_0_1__1 ;
    public final void rule__Definition__Group_0_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1307:1: ( rule__Definition__Group_0_1__0__Impl rule__Definition__Group_0_1__1 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1308:2: rule__Definition__Group_0_1__0__Impl rule__Definition__Group_0_1__1
            {
            pushFollow(FOLLOW_rule__Definition__Group_0_1__0__Impl_in_rule__Definition__Group_0_1__02691);
            rule__Definition__Group_0_1__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Definition__Group_0_1__1_in_rule__Definition__Group_0_1__02694);
            rule__Definition__Group_0_1__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__Group_0_1__0


    // $ANTLR start rule__Definition__Group_0_1__0__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1315:1: rule__Definition__Group_0_1__0__Impl : ( 'sequent' ) ;
    public final void rule__Definition__Group_0_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1319:1: ( ( 'sequent' ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1320:1: ( 'sequent' )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1320:1: ( 'sequent' )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1321:1: 'sequent'
            {
             before(grammarAccess.getDefinitionAccess().getSequentKeyword_0_1_0()); 
            match(input,22,FOLLOW_22_in_rule__Definition__Group_0_1__0__Impl2722); 
             after(grammarAccess.getDefinitionAccess().getSequentKeyword_0_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__Group_0_1__0__Impl


    // $ANTLR start rule__Definition__Group_0_1__1
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1334:1: rule__Definition__Group_0_1__1 : rule__Definition__Group_0_1__1__Impl rule__Definition__Group_0_1__2 ;
    public final void rule__Definition__Group_0_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1338:1: ( rule__Definition__Group_0_1__1__Impl rule__Definition__Group_0_1__2 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1339:2: rule__Definition__Group_0_1__1__Impl rule__Definition__Group_0_1__2
            {
            pushFollow(FOLLOW_rule__Definition__Group_0_1__1__Impl_in_rule__Definition__Group_0_1__12753);
            rule__Definition__Group_0_1__1__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Definition__Group_0_1__2_in_rule__Definition__Group_0_1__12756);
            rule__Definition__Group_0_1__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__Group_0_1__1


    // $ANTLR start rule__Definition__Group_0_1__1__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1346:1: rule__Definition__Group_0_1__1__Impl : ( () ) ;
    public final void rule__Definition__Group_0_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1350:1: ( ( () ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1351:1: ( () )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1351:1: ( () )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1352:1: ()
            {
             before(grammarAccess.getDefinitionAccess().getSequentAction_0_1_1()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1353:1: ()
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1355:1: 
            {
            }

             after(grammarAccess.getDefinitionAccess().getSequentAction_0_1_1()); 

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__Group_0_1__1__Impl


    // $ANTLR start rule__Definition__Group_0_1__2
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1365:1: rule__Definition__Group_0_1__2 : rule__Definition__Group_0_1__2__Impl rule__Definition__Group_0_1__3 ;
    public final void rule__Definition__Group_0_1__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1369:1: ( rule__Definition__Group_0_1__2__Impl rule__Definition__Group_0_1__3 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1370:2: rule__Definition__Group_0_1__2__Impl rule__Definition__Group_0_1__3
            {
            pushFollow(FOLLOW_rule__Definition__Group_0_1__2__Impl_in_rule__Definition__Group_0_1__22814);
            rule__Definition__Group_0_1__2__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Definition__Group_0_1__3_in_rule__Definition__Group_0_1__22817);
            rule__Definition__Group_0_1__3();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__Group_0_1__2


    // $ANTLR start rule__Definition__Group_0_1__2__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1377:1: rule__Definition__Group_0_1__2__Impl : ( ( rule__Definition__NameAssignment_0_1_2 ) ) ;
    public final void rule__Definition__Group_0_1__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1381:1: ( ( ( rule__Definition__NameAssignment_0_1_2 ) ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1382:1: ( ( rule__Definition__NameAssignment_0_1_2 ) )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1382:1: ( ( rule__Definition__NameAssignment_0_1_2 ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1383:1: ( rule__Definition__NameAssignment_0_1_2 )
            {
             before(grammarAccess.getDefinitionAccess().getNameAssignment_0_1_2()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1384:1: ( rule__Definition__NameAssignment_0_1_2 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1384:2: rule__Definition__NameAssignment_0_1_2
            {
            pushFollow(FOLLOW_rule__Definition__NameAssignment_0_1_2_in_rule__Definition__Group_0_1__2__Impl2844);
            rule__Definition__NameAssignment_0_1_2();
            _fsp--;


            }

             after(grammarAccess.getDefinitionAccess().getNameAssignment_0_1_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__Group_0_1__2__Impl


    // $ANTLR start rule__Definition__Group_0_1__3
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1394:1: rule__Definition__Group_0_1__3 : rule__Definition__Group_0_1__3__Impl rule__Definition__Group_0_1__4 ;
    public final void rule__Definition__Group_0_1__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1398:1: ( rule__Definition__Group_0_1__3__Impl rule__Definition__Group_0_1__4 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1399:2: rule__Definition__Group_0_1__3__Impl rule__Definition__Group_0_1__4
            {
            pushFollow(FOLLOW_rule__Definition__Group_0_1__3__Impl_in_rule__Definition__Group_0_1__32874);
            rule__Definition__Group_0_1__3__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Definition__Group_0_1__4_in_rule__Definition__Group_0_1__32877);
            rule__Definition__Group_0_1__4();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__Group_0_1__3


    // $ANTLR start rule__Definition__Group_0_1__3__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1406:1: rule__Definition__Group_0_1__3__Impl : ( '(' ) ;
    public final void rule__Definition__Group_0_1__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1410:1: ( ( '(' ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1411:1: ( '(' )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1411:1: ( '(' )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1412:1: '('
            {
             before(grammarAccess.getDefinitionAccess().getLeftParenthesisKeyword_0_1_3()); 
            match(input,19,FOLLOW_19_in_rule__Definition__Group_0_1__3__Impl2905); 
             after(grammarAccess.getDefinitionAccess().getLeftParenthesisKeyword_0_1_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__Group_0_1__3__Impl


    // $ANTLR start rule__Definition__Group_0_1__4
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1425:1: rule__Definition__Group_0_1__4 : rule__Definition__Group_0_1__4__Impl rule__Definition__Group_0_1__5 ;
    public final void rule__Definition__Group_0_1__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1429:1: ( rule__Definition__Group_0_1__4__Impl rule__Definition__Group_0_1__5 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1430:2: rule__Definition__Group_0_1__4__Impl rule__Definition__Group_0_1__5
            {
            pushFollow(FOLLOW_rule__Definition__Group_0_1__4__Impl_in_rule__Definition__Group_0_1__42936);
            rule__Definition__Group_0_1__4__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Definition__Group_0_1__5_in_rule__Definition__Group_0_1__42939);
            rule__Definition__Group_0_1__5();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__Group_0_1__4


    // $ANTLR start rule__Definition__Group_0_1__4__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1437:1: rule__Definition__Group_0_1__4__Impl : ( ( rule__Definition__Group_0_1_4__0 )? ) ;
    public final void rule__Definition__Group_0_1__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1441:1: ( ( ( rule__Definition__Group_0_1_4__0 )? ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1442:1: ( ( rule__Definition__Group_0_1_4__0 )? )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1442:1: ( ( rule__Definition__Group_0_1_4__0 )? )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1443:1: ( rule__Definition__Group_0_1_4__0 )?
            {
             before(grammarAccess.getDefinitionAccess().getGroup_0_1_4()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1444:1: ( rule__Definition__Group_0_1_4__0 )?
            int alt10=2;
            int LA10_0 = input.LA(1);

            if ( (LA10_0==RULE_ID) ) {
                alt10=1;
            }
            switch (alt10) {
                case 1 :
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1444:2: rule__Definition__Group_0_1_4__0
                    {
                    pushFollow(FOLLOW_rule__Definition__Group_0_1_4__0_in_rule__Definition__Group_0_1__4__Impl2966);
                    rule__Definition__Group_0_1_4__0();
                    _fsp--;


                    }
                    break;

            }

             after(grammarAccess.getDefinitionAccess().getGroup_0_1_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__Group_0_1__4__Impl


    // $ANTLR start rule__Definition__Group_0_1__5
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1454:1: rule__Definition__Group_0_1__5 : rule__Definition__Group_0_1__5__Impl rule__Definition__Group_0_1__6 ;
    public final void rule__Definition__Group_0_1__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1458:1: ( rule__Definition__Group_0_1__5__Impl rule__Definition__Group_0_1__6 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1459:2: rule__Definition__Group_0_1__5__Impl rule__Definition__Group_0_1__6
            {
            pushFollow(FOLLOW_rule__Definition__Group_0_1__5__Impl_in_rule__Definition__Group_0_1__52997);
            rule__Definition__Group_0_1__5__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Definition__Group_0_1__6_in_rule__Definition__Group_0_1__53000);
            rule__Definition__Group_0_1__6();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__Group_0_1__5


    // $ANTLR start rule__Definition__Group_0_1__5__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1466:1: rule__Definition__Group_0_1__5__Impl : ( ')' ) ;
    public final void rule__Definition__Group_0_1__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1470:1: ( ( ')' ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1471:1: ( ')' )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1471:1: ( ')' )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1472:1: ')'
            {
             before(grammarAccess.getDefinitionAccess().getRightParenthesisKeyword_0_1_5()); 
            match(input,20,FOLLOW_20_in_rule__Definition__Group_0_1__5__Impl3028); 
             after(grammarAccess.getDefinitionAccess().getRightParenthesisKeyword_0_1_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__Group_0_1__5__Impl


    // $ANTLR start rule__Definition__Group_0_1__6
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1485:1: rule__Definition__Group_0_1__6 : rule__Definition__Group_0_1__6__Impl rule__Definition__Group_0_1__7 ;
    public final void rule__Definition__Group_0_1__6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1489:1: ( rule__Definition__Group_0_1__6__Impl rule__Definition__Group_0_1__7 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1490:2: rule__Definition__Group_0_1__6__Impl rule__Definition__Group_0_1__7
            {
            pushFollow(FOLLOW_rule__Definition__Group_0_1__6__Impl_in_rule__Definition__Group_0_1__63059);
            rule__Definition__Group_0_1__6__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Definition__Group_0_1__7_in_rule__Definition__Group_0_1__63062);
            rule__Definition__Group_0_1__7();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__Group_0_1__6


    // $ANTLR start rule__Definition__Group_0_1__6__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1497:1: rule__Definition__Group_0_1__6__Impl : ( ( rule__Definition__PremiseAssignment_0_1_6 ) ) ;
    public final void rule__Definition__Group_0_1__6__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1501:1: ( ( ( rule__Definition__PremiseAssignment_0_1_6 ) ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1502:1: ( ( rule__Definition__PremiseAssignment_0_1_6 ) )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1502:1: ( ( rule__Definition__PremiseAssignment_0_1_6 ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1503:1: ( rule__Definition__PremiseAssignment_0_1_6 )
            {
             before(grammarAccess.getDefinitionAccess().getPremiseAssignment_0_1_6()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1504:1: ( rule__Definition__PremiseAssignment_0_1_6 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1504:2: rule__Definition__PremiseAssignment_0_1_6
            {
            pushFollow(FOLLOW_rule__Definition__PremiseAssignment_0_1_6_in_rule__Definition__Group_0_1__6__Impl3089);
            rule__Definition__PremiseAssignment_0_1_6();
            _fsp--;


            }

             after(grammarAccess.getDefinitionAccess().getPremiseAssignment_0_1_6()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__Group_0_1__6__Impl


    // $ANTLR start rule__Definition__Group_0_1__7
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1514:1: rule__Definition__Group_0_1__7 : rule__Definition__Group_0_1__7__Impl rule__Definition__Group_0_1__8 ;
    public final void rule__Definition__Group_0_1__7() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1518:1: ( rule__Definition__Group_0_1__7__Impl rule__Definition__Group_0_1__8 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1519:2: rule__Definition__Group_0_1__7__Impl rule__Definition__Group_0_1__8
            {
            pushFollow(FOLLOW_rule__Definition__Group_0_1__7__Impl_in_rule__Definition__Group_0_1__73119);
            rule__Definition__Group_0_1__7__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Definition__Group_0_1__8_in_rule__Definition__Group_0_1__73122);
            rule__Definition__Group_0_1__8();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__Group_0_1__7


    // $ANTLR start rule__Definition__Group_0_1__7__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1526:1: rule__Definition__Group_0_1__7__Impl : ( '=>' ) ;
    public final void rule__Definition__Group_0_1__7__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1530:1: ( ( '=>' ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1531:1: ( '=>' )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1531:1: ( '=>' )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1532:1: '=>'
            {
             before(grammarAccess.getDefinitionAccess().getEqualsSignGreaterThanSignKeyword_0_1_7()); 
            match(input,23,FOLLOW_23_in_rule__Definition__Group_0_1__7__Impl3150); 
             after(grammarAccess.getDefinitionAccess().getEqualsSignGreaterThanSignKeyword_0_1_7()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__Group_0_1__7__Impl


    // $ANTLR start rule__Definition__Group_0_1__8
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1545:1: rule__Definition__Group_0_1__8 : rule__Definition__Group_0_1__8__Impl rule__Definition__Group_0_1__9 ;
    public final void rule__Definition__Group_0_1__8() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1549:1: ( rule__Definition__Group_0_1__8__Impl rule__Definition__Group_0_1__9 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1550:2: rule__Definition__Group_0_1__8__Impl rule__Definition__Group_0_1__9
            {
            pushFollow(FOLLOW_rule__Definition__Group_0_1__8__Impl_in_rule__Definition__Group_0_1__83181);
            rule__Definition__Group_0_1__8__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Definition__Group_0_1__9_in_rule__Definition__Group_0_1__83184);
            rule__Definition__Group_0_1__9();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__Group_0_1__8


    // $ANTLR start rule__Definition__Group_0_1__8__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1557:1: rule__Definition__Group_0_1__8__Impl : ( ( rule__Definition__ConclusionAssignment_0_1_8 ) ) ;
    public final void rule__Definition__Group_0_1__8__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1561:1: ( ( ( rule__Definition__ConclusionAssignment_0_1_8 ) ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1562:1: ( ( rule__Definition__ConclusionAssignment_0_1_8 ) )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1562:1: ( ( rule__Definition__ConclusionAssignment_0_1_8 ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1563:1: ( rule__Definition__ConclusionAssignment_0_1_8 )
            {
             before(grammarAccess.getDefinitionAccess().getConclusionAssignment_0_1_8()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1564:1: ( rule__Definition__ConclusionAssignment_0_1_8 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1564:2: rule__Definition__ConclusionAssignment_0_1_8
            {
            pushFollow(FOLLOW_rule__Definition__ConclusionAssignment_0_1_8_in_rule__Definition__Group_0_1__8__Impl3211);
            rule__Definition__ConclusionAssignment_0_1_8();
            _fsp--;


            }

             after(grammarAccess.getDefinitionAccess().getConclusionAssignment_0_1_8()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__Group_0_1__8__Impl


    // $ANTLR start rule__Definition__Group_0_1__9
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1574:1: rule__Definition__Group_0_1__9 : rule__Definition__Group_0_1__9__Impl ;
    public final void rule__Definition__Group_0_1__9() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1578:1: ( rule__Definition__Group_0_1__9__Impl )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1579:2: rule__Definition__Group_0_1__9__Impl
            {
            pushFollow(FOLLOW_rule__Definition__Group_0_1__9__Impl_in_rule__Definition__Group_0_1__93241);
            rule__Definition__Group_0_1__9__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__Group_0_1__9


    // $ANTLR start rule__Definition__Group_0_1__9__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1585:1: rule__Definition__Group_0_1__9__Impl : ( ( rule__Definition__ProofAssignment_0_1_9 )? ) ;
    public final void rule__Definition__Group_0_1__9__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1589:1: ( ( ( rule__Definition__ProofAssignment_0_1_9 )? ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1590:1: ( ( rule__Definition__ProofAssignment_0_1_9 )? )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1590:1: ( ( rule__Definition__ProofAssignment_0_1_9 )? )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1591:1: ( rule__Definition__ProofAssignment_0_1_9 )?
            {
             before(grammarAccess.getDefinitionAccess().getProofAssignment_0_1_9()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1592:1: ( rule__Definition__ProofAssignment_0_1_9 )?
            int alt11=2;
            int LA11_0 = input.LA(1);

            if ( (LA11_0==25) ) {
                alt11=1;
            }
            switch (alt11) {
                case 1 :
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1592:2: rule__Definition__ProofAssignment_0_1_9
                    {
                    pushFollow(FOLLOW_rule__Definition__ProofAssignment_0_1_9_in_rule__Definition__Group_0_1__9__Impl3268);
                    rule__Definition__ProofAssignment_0_1_9();
                    _fsp--;


                    }
                    break;

            }

             after(grammarAccess.getDefinitionAccess().getProofAssignment_0_1_9()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__Group_0_1__9__Impl


    // $ANTLR start rule__Definition__Group_0_1_4__0
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1622:1: rule__Definition__Group_0_1_4__0 : rule__Definition__Group_0_1_4__0__Impl rule__Definition__Group_0_1_4__1 ;
    public final void rule__Definition__Group_0_1_4__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1626:1: ( rule__Definition__Group_0_1_4__0__Impl rule__Definition__Group_0_1_4__1 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1627:2: rule__Definition__Group_0_1_4__0__Impl rule__Definition__Group_0_1_4__1
            {
            pushFollow(FOLLOW_rule__Definition__Group_0_1_4__0__Impl_in_rule__Definition__Group_0_1_4__03319);
            rule__Definition__Group_0_1_4__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Definition__Group_0_1_4__1_in_rule__Definition__Group_0_1_4__03322);
            rule__Definition__Group_0_1_4__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__Group_0_1_4__0


    // $ANTLR start rule__Definition__Group_0_1_4__0__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1634:1: rule__Definition__Group_0_1_4__0__Impl : ( ( rule__Definition__ParametersAssignment_0_1_4_0 ) ) ;
    public final void rule__Definition__Group_0_1_4__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1638:1: ( ( ( rule__Definition__ParametersAssignment_0_1_4_0 ) ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1639:1: ( ( rule__Definition__ParametersAssignment_0_1_4_0 ) )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1639:1: ( ( rule__Definition__ParametersAssignment_0_1_4_0 ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1640:1: ( rule__Definition__ParametersAssignment_0_1_4_0 )
            {
             before(grammarAccess.getDefinitionAccess().getParametersAssignment_0_1_4_0()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1641:1: ( rule__Definition__ParametersAssignment_0_1_4_0 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1641:2: rule__Definition__ParametersAssignment_0_1_4_0
            {
            pushFollow(FOLLOW_rule__Definition__ParametersAssignment_0_1_4_0_in_rule__Definition__Group_0_1_4__0__Impl3349);
            rule__Definition__ParametersAssignment_0_1_4_0();
            _fsp--;


            }

             after(grammarAccess.getDefinitionAccess().getParametersAssignment_0_1_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__Group_0_1_4__0__Impl


    // $ANTLR start rule__Definition__Group_0_1_4__1
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1651:1: rule__Definition__Group_0_1_4__1 : rule__Definition__Group_0_1_4__1__Impl ;
    public final void rule__Definition__Group_0_1_4__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1655:1: ( rule__Definition__Group_0_1_4__1__Impl )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1656:2: rule__Definition__Group_0_1_4__1__Impl
            {
            pushFollow(FOLLOW_rule__Definition__Group_0_1_4__1__Impl_in_rule__Definition__Group_0_1_4__13379);
            rule__Definition__Group_0_1_4__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__Group_0_1_4__1


    // $ANTLR start rule__Definition__Group_0_1_4__1__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1662:1: rule__Definition__Group_0_1_4__1__Impl : ( ( rule__Definition__Group_0_1_4_1__0 )* ) ;
    public final void rule__Definition__Group_0_1_4__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1666:1: ( ( ( rule__Definition__Group_0_1_4_1__0 )* ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1667:1: ( ( rule__Definition__Group_0_1_4_1__0 )* )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1667:1: ( ( rule__Definition__Group_0_1_4_1__0 )* )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1668:1: ( rule__Definition__Group_0_1_4_1__0 )*
            {
             before(grammarAccess.getDefinitionAccess().getGroup_0_1_4_1()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1669:1: ( rule__Definition__Group_0_1_4_1__0 )*
            loop12:
            do {
                int alt12=2;
                int LA12_0 = input.LA(1);

                if ( (LA12_0==21) ) {
                    alt12=1;
                }


                switch (alt12) {
            	case 1 :
            	    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1669:2: rule__Definition__Group_0_1_4_1__0
            	    {
            	    pushFollow(FOLLOW_rule__Definition__Group_0_1_4_1__0_in_rule__Definition__Group_0_1_4__1__Impl3406);
            	    rule__Definition__Group_0_1_4_1__0();
            	    _fsp--;


            	    }
            	    break;

            	default :
            	    break loop12;
                }
            } while (true);

             after(grammarAccess.getDefinitionAccess().getGroup_0_1_4_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__Group_0_1_4__1__Impl


    // $ANTLR start rule__Definition__Group_0_1_4_1__0
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1683:1: rule__Definition__Group_0_1_4_1__0 : rule__Definition__Group_0_1_4_1__0__Impl rule__Definition__Group_0_1_4_1__1 ;
    public final void rule__Definition__Group_0_1_4_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1687:1: ( rule__Definition__Group_0_1_4_1__0__Impl rule__Definition__Group_0_1_4_1__1 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1688:2: rule__Definition__Group_0_1_4_1__0__Impl rule__Definition__Group_0_1_4_1__1
            {
            pushFollow(FOLLOW_rule__Definition__Group_0_1_4_1__0__Impl_in_rule__Definition__Group_0_1_4_1__03441);
            rule__Definition__Group_0_1_4_1__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Definition__Group_0_1_4_1__1_in_rule__Definition__Group_0_1_4_1__03444);
            rule__Definition__Group_0_1_4_1__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__Group_0_1_4_1__0


    // $ANTLR start rule__Definition__Group_0_1_4_1__0__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1695:1: rule__Definition__Group_0_1_4_1__0__Impl : ( ',' ) ;
    public final void rule__Definition__Group_0_1_4_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1699:1: ( ( ',' ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1700:1: ( ',' )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1700:1: ( ',' )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1701:1: ','
            {
             before(grammarAccess.getDefinitionAccess().getCommaKeyword_0_1_4_1_0()); 
            match(input,21,FOLLOW_21_in_rule__Definition__Group_0_1_4_1__0__Impl3472); 
             after(grammarAccess.getDefinitionAccess().getCommaKeyword_0_1_4_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__Group_0_1_4_1__0__Impl


    // $ANTLR start rule__Definition__Group_0_1_4_1__1
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1714:1: rule__Definition__Group_0_1_4_1__1 : rule__Definition__Group_0_1_4_1__1__Impl ;
    public final void rule__Definition__Group_0_1_4_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1718:1: ( rule__Definition__Group_0_1_4_1__1__Impl )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1719:2: rule__Definition__Group_0_1_4_1__1__Impl
            {
            pushFollow(FOLLOW_rule__Definition__Group_0_1_4_1__1__Impl_in_rule__Definition__Group_0_1_4_1__13503);
            rule__Definition__Group_0_1_4_1__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__Group_0_1_4_1__1


    // $ANTLR start rule__Definition__Group_0_1_4_1__1__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1725:1: rule__Definition__Group_0_1_4_1__1__Impl : ( ( rule__Definition__ParametersAssignment_0_1_4_1_1 ) ) ;
    public final void rule__Definition__Group_0_1_4_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1729:1: ( ( ( rule__Definition__ParametersAssignment_0_1_4_1_1 ) ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1730:1: ( ( rule__Definition__ParametersAssignment_0_1_4_1_1 ) )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1730:1: ( ( rule__Definition__ParametersAssignment_0_1_4_1_1 ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1731:1: ( rule__Definition__ParametersAssignment_0_1_4_1_1 )
            {
             before(grammarAccess.getDefinitionAccess().getParametersAssignment_0_1_4_1_1()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1732:1: ( rule__Definition__ParametersAssignment_0_1_4_1_1 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1732:2: rule__Definition__ParametersAssignment_0_1_4_1_1
            {
            pushFollow(FOLLOW_rule__Definition__ParametersAssignment_0_1_4_1_1_in_rule__Definition__Group_0_1_4_1__1__Impl3530);
            rule__Definition__ParametersAssignment_0_1_4_1_1();
            _fsp--;


            }

             after(grammarAccess.getDefinitionAccess().getParametersAssignment_0_1_4_1_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__Group_0_1_4_1__1__Impl


    // $ANTLR start rule__Alternation__Group__0
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1746:1: rule__Alternation__Group__0 : rule__Alternation__Group__0__Impl rule__Alternation__Group__1 ;
    public final void rule__Alternation__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1750:1: ( rule__Alternation__Group__0__Impl rule__Alternation__Group__1 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1751:2: rule__Alternation__Group__0__Impl rule__Alternation__Group__1
            {
            pushFollow(FOLLOW_rule__Alternation__Group__0__Impl_in_rule__Alternation__Group__03564);
            rule__Alternation__Group__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Alternation__Group__1_in_rule__Alternation__Group__03567);
            rule__Alternation__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Alternation__Group__0


    // $ANTLR start rule__Alternation__Group__0__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1758:1: rule__Alternation__Group__0__Impl : ( ( rule__Alternation__ClausesAssignment_0 ) ) ;
    public final void rule__Alternation__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1762:1: ( ( ( rule__Alternation__ClausesAssignment_0 ) ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1763:1: ( ( rule__Alternation__ClausesAssignment_0 ) )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1763:1: ( ( rule__Alternation__ClausesAssignment_0 ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1764:1: ( rule__Alternation__ClausesAssignment_0 )
            {
             before(grammarAccess.getAlternationAccess().getClausesAssignment_0()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1765:1: ( rule__Alternation__ClausesAssignment_0 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1765:2: rule__Alternation__ClausesAssignment_0
            {
            pushFollow(FOLLOW_rule__Alternation__ClausesAssignment_0_in_rule__Alternation__Group__0__Impl3594);
            rule__Alternation__ClausesAssignment_0();
            _fsp--;


            }

             after(grammarAccess.getAlternationAccess().getClausesAssignment_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Alternation__Group__0__Impl


    // $ANTLR start rule__Alternation__Group__1
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1775:1: rule__Alternation__Group__1 : rule__Alternation__Group__1__Impl ;
    public final void rule__Alternation__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1779:1: ( rule__Alternation__Group__1__Impl )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1780:2: rule__Alternation__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__Alternation__Group__1__Impl_in_rule__Alternation__Group__13624);
            rule__Alternation__Group__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Alternation__Group__1


    // $ANTLR start rule__Alternation__Group__1__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1786:1: rule__Alternation__Group__1__Impl : ( ( rule__Alternation__Group_1__0 )* ) ;
    public final void rule__Alternation__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1790:1: ( ( ( rule__Alternation__Group_1__0 )* ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1791:1: ( ( rule__Alternation__Group_1__0 )* )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1791:1: ( ( rule__Alternation__Group_1__0 )* )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1792:1: ( rule__Alternation__Group_1__0 )*
            {
             before(grammarAccess.getAlternationAccess().getGroup_1()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1793:1: ( rule__Alternation__Group_1__0 )*
            loop13:
            do {
                int alt13=2;
                int LA13_0 = input.LA(1);

                if ( (LA13_0==24) ) {
                    alt13=1;
                }


                switch (alt13) {
            	case 1 :
            	    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1793:2: rule__Alternation__Group_1__0
            	    {
            	    pushFollow(FOLLOW_rule__Alternation__Group_1__0_in_rule__Alternation__Group__1__Impl3651);
            	    rule__Alternation__Group_1__0();
            	    _fsp--;


            	    }
            	    break;

            	default :
            	    break loop13;
                }
            } while (true);

             after(grammarAccess.getAlternationAccess().getGroup_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Alternation__Group__1__Impl


    // $ANTLR start rule__Alternation__Group_1__0
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1807:1: rule__Alternation__Group_1__0 : rule__Alternation__Group_1__0__Impl rule__Alternation__Group_1__1 ;
    public final void rule__Alternation__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1811:1: ( rule__Alternation__Group_1__0__Impl rule__Alternation__Group_1__1 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1812:2: rule__Alternation__Group_1__0__Impl rule__Alternation__Group_1__1
            {
            pushFollow(FOLLOW_rule__Alternation__Group_1__0__Impl_in_rule__Alternation__Group_1__03686);
            rule__Alternation__Group_1__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Alternation__Group_1__1_in_rule__Alternation__Group_1__03689);
            rule__Alternation__Group_1__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Alternation__Group_1__0


    // $ANTLR start rule__Alternation__Group_1__0__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1819:1: rule__Alternation__Group_1__0__Impl : ( '|' ) ;
    public final void rule__Alternation__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1823:1: ( ( '|' ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1824:1: ( '|' )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1824:1: ( '|' )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1825:1: '|'
            {
             before(grammarAccess.getAlternationAccess().getVerticalLineKeyword_1_0()); 
            match(input,24,FOLLOW_24_in_rule__Alternation__Group_1__0__Impl3717); 
             after(grammarAccess.getAlternationAccess().getVerticalLineKeyword_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Alternation__Group_1__0__Impl


    // $ANTLR start rule__Alternation__Group_1__1
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1838:1: rule__Alternation__Group_1__1 : rule__Alternation__Group_1__1__Impl ;
    public final void rule__Alternation__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1842:1: ( rule__Alternation__Group_1__1__Impl )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1843:2: rule__Alternation__Group_1__1__Impl
            {
            pushFollow(FOLLOW_rule__Alternation__Group_1__1__Impl_in_rule__Alternation__Group_1__13748);
            rule__Alternation__Group_1__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Alternation__Group_1__1


    // $ANTLR start rule__Alternation__Group_1__1__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1849:1: rule__Alternation__Group_1__1__Impl : ( ( rule__Alternation__ClausesAssignment_1_1 ) ) ;
    public final void rule__Alternation__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1853:1: ( ( ( rule__Alternation__ClausesAssignment_1_1 ) ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1854:1: ( ( rule__Alternation__ClausesAssignment_1_1 ) )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1854:1: ( ( rule__Alternation__ClausesAssignment_1_1 ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1855:1: ( rule__Alternation__ClausesAssignment_1_1 )
            {
             before(grammarAccess.getAlternationAccess().getClausesAssignment_1_1()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1856:1: ( rule__Alternation__ClausesAssignment_1_1 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1856:2: rule__Alternation__ClausesAssignment_1_1
            {
            pushFollow(FOLLOW_rule__Alternation__ClausesAssignment_1_1_in_rule__Alternation__Group_1__1__Impl3775);
            rule__Alternation__ClausesAssignment_1_1();
            _fsp--;


            }

             after(grammarAccess.getAlternationAccess().getClausesAssignment_1_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Alternation__Group_1__1__Impl


    // $ANTLR start rule__Proof__Group__0
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1870:1: rule__Proof__Group__0 : rule__Proof__Group__0__Impl rule__Proof__Group__1 ;
    public final void rule__Proof__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1874:1: ( rule__Proof__Group__0__Impl rule__Proof__Group__1 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1875:2: rule__Proof__Group__0__Impl rule__Proof__Group__1
            {
            pushFollow(FOLLOW_rule__Proof__Group__0__Impl_in_rule__Proof__Group__03809);
            rule__Proof__Group__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Proof__Group__1_in_rule__Proof__Group__03812);
            rule__Proof__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Proof__Group__0


    // $ANTLR start rule__Proof__Group__0__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1882:1: rule__Proof__Group__0__Impl : ( 'proof' ) ;
    public final void rule__Proof__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1886:1: ( ( 'proof' ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1887:1: ( 'proof' )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1887:1: ( 'proof' )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1888:1: 'proof'
            {
             before(grammarAccess.getProofAccess().getProofKeyword_0()); 
            match(input,25,FOLLOW_25_in_rule__Proof__Group__0__Impl3840); 
             after(grammarAccess.getProofAccess().getProofKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Proof__Group__0__Impl


    // $ANTLR start rule__Proof__Group__1
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1901:1: rule__Proof__Group__1 : rule__Proof__Group__1__Impl rule__Proof__Group__2 ;
    public final void rule__Proof__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1905:1: ( rule__Proof__Group__1__Impl rule__Proof__Group__2 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1906:2: rule__Proof__Group__1__Impl rule__Proof__Group__2
            {
            pushFollow(FOLLOW_rule__Proof__Group__1__Impl_in_rule__Proof__Group__13871);
            rule__Proof__Group__1__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Proof__Group__2_in_rule__Proof__Group__13874);
            rule__Proof__Group__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Proof__Group__1


    // $ANTLR start rule__Proof__Group__1__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1913:1: rule__Proof__Group__1__Impl : ( () ) ;
    public final void rule__Proof__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1917:1: ( ( () ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1918:1: ( () )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1918:1: ( () )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1919:1: ()
            {
             before(grammarAccess.getProofAccess().getProofAction_1()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1920:1: ()
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1922:1: 
            {
            }

             after(grammarAccess.getProofAccess().getProofAction_1()); 

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Proof__Group__1__Impl


    // $ANTLR start rule__Proof__Group__2
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1932:1: rule__Proof__Group__2 : rule__Proof__Group__2__Impl ;
    public final void rule__Proof__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1936:1: ( rule__Proof__Group__2__Impl )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1937:2: rule__Proof__Group__2__Impl
            {
            pushFollow(FOLLOW_rule__Proof__Group__2__Impl_in_rule__Proof__Group__23932);
            rule__Proof__Group__2__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Proof__Group__2


    // $ANTLR start rule__Proof__Group__2__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1943:1: rule__Proof__Group__2__Impl : ( ( rule__Proof__StepsAssignment_2 )* ) ;
    public final void rule__Proof__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1947:1: ( ( ( rule__Proof__StepsAssignment_2 )* ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1948:1: ( ( rule__Proof__StepsAssignment_2 )* )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1948:1: ( ( rule__Proof__StepsAssignment_2 )* )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1949:1: ( rule__Proof__StepsAssignment_2 )*
            {
             before(grammarAccess.getProofAccess().getStepsAssignment_2()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1950:1: ( rule__Proof__StepsAssignment_2 )*
            loop14:
            do {
                int alt14=2;
                int LA14_0 = input.LA(1);

                if ( (LA14_0==RULE_ID) ) {
                    alt14=1;
                }


                switch (alt14) {
            	case 1 :
            	    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1950:2: rule__Proof__StepsAssignment_2
            	    {
            	    pushFollow(FOLLOW_rule__Proof__StepsAssignment_2_in_rule__Proof__Group__2__Impl3959);
            	    rule__Proof__StepsAssignment_2();
            	    _fsp--;


            	    }
            	    break;

            	default :
            	    break loop14;
                }
            } while (true);

             after(grammarAccess.getProofAccess().getStepsAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Proof__Group__2__Impl


    // $ANTLR start rule__Step__Group__0
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1966:1: rule__Step__Group__0 : rule__Step__Group__0__Impl rule__Step__Group__1 ;
    public final void rule__Step__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1970:1: ( rule__Step__Group__0__Impl rule__Step__Group__1 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1971:2: rule__Step__Group__0__Impl rule__Step__Group__1
            {
            pushFollow(FOLLOW_rule__Step__Group__0__Impl_in_rule__Step__Group__03996);
            rule__Step__Group__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Step__Group__1_in_rule__Step__Group__03999);
            rule__Step__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Step__Group__0


    // $ANTLR start rule__Step__Group__0__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1978:1: rule__Step__Group__0__Impl : ( ( rule__Step__RuleAssignment_0 ) ) ;
    public final void rule__Step__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1982:1: ( ( ( rule__Step__RuleAssignment_0 ) ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1983:1: ( ( rule__Step__RuleAssignment_0 ) )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1983:1: ( ( rule__Step__RuleAssignment_0 ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1984:1: ( rule__Step__RuleAssignment_0 )
            {
             before(grammarAccess.getStepAccess().getRuleAssignment_0()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1985:1: ( rule__Step__RuleAssignment_0 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1985:2: rule__Step__RuleAssignment_0
            {
            pushFollow(FOLLOW_rule__Step__RuleAssignment_0_in_rule__Step__Group__0__Impl4026);
            rule__Step__RuleAssignment_0();
            _fsp--;


            }

             after(grammarAccess.getStepAccess().getRuleAssignment_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Step__Group__0__Impl


    // $ANTLR start rule__Step__Group__1
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1995:1: rule__Step__Group__1 : rule__Step__Group__1__Impl ;
    public final void rule__Step__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:1999:1: ( rule__Step__Group__1__Impl )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2000:2: rule__Step__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__Step__Group__1__Impl_in_rule__Step__Group__14056);
            rule__Step__Group__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Step__Group__1


    // $ANTLR start rule__Step__Group__1__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2006:1: rule__Step__Group__1__Impl : ( ( rule__Step__Group_1__0 )? ) ;
    public final void rule__Step__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2010:1: ( ( ( rule__Step__Group_1__0 )? ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2011:1: ( ( rule__Step__Group_1__0 )? )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2011:1: ( ( rule__Step__Group_1__0 )? )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2012:1: ( rule__Step__Group_1__0 )?
            {
             before(grammarAccess.getStepAccess().getGroup_1()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2013:1: ( rule__Step__Group_1__0 )?
            int alt15=2;
            int LA15_0 = input.LA(1);

            if ( (LA15_0==RULE_STRING) ) {
                alt15=1;
            }
            switch (alt15) {
                case 1 :
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2013:2: rule__Step__Group_1__0
                    {
                    pushFollow(FOLLOW_rule__Step__Group_1__0_in_rule__Step__Group__1__Impl4083);
                    rule__Step__Group_1__0();
                    _fsp--;


                    }
                    break;

            }

             after(grammarAccess.getStepAccess().getGroup_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Step__Group__1__Impl


    // $ANTLR start rule__Step__Group_1__0
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2027:1: rule__Step__Group_1__0 : rule__Step__Group_1__0__Impl rule__Step__Group_1__1 ;
    public final void rule__Step__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2031:1: ( rule__Step__Group_1__0__Impl rule__Step__Group_1__1 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2032:2: rule__Step__Group_1__0__Impl rule__Step__Group_1__1
            {
            pushFollow(FOLLOW_rule__Step__Group_1__0__Impl_in_rule__Step__Group_1__04118);
            rule__Step__Group_1__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Step__Group_1__1_in_rule__Step__Group_1__04121);
            rule__Step__Group_1__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Step__Group_1__0


    // $ANTLR start rule__Step__Group_1__0__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2039:1: rule__Step__Group_1__0__Impl : ( ( rule__Step__TargetAssignment_1_0 ) ) ;
    public final void rule__Step__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2043:1: ( ( ( rule__Step__TargetAssignment_1_0 ) ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2044:1: ( ( rule__Step__TargetAssignment_1_0 ) )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2044:1: ( ( rule__Step__TargetAssignment_1_0 ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2045:1: ( rule__Step__TargetAssignment_1_0 )
            {
             before(grammarAccess.getStepAccess().getTargetAssignment_1_0()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2046:1: ( rule__Step__TargetAssignment_1_0 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2046:2: rule__Step__TargetAssignment_1_0
            {
            pushFollow(FOLLOW_rule__Step__TargetAssignment_1_0_in_rule__Step__Group_1__0__Impl4148);
            rule__Step__TargetAssignment_1_0();
            _fsp--;


            }

             after(grammarAccess.getStepAccess().getTargetAssignment_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Step__Group_1__0__Impl


    // $ANTLR start rule__Step__Group_1__1
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2056:1: rule__Step__Group_1__1 : rule__Step__Group_1__1__Impl ;
    public final void rule__Step__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2060:1: ( rule__Step__Group_1__1__Impl )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2061:2: rule__Step__Group_1__1__Impl
            {
            pushFollow(FOLLOW_rule__Step__Group_1__1__Impl_in_rule__Step__Group_1__14178);
            rule__Step__Group_1__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Step__Group_1__1


    // $ANTLR start rule__Step__Group_1__1__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2067:1: rule__Step__Group_1__1__Impl : ( ( rule__Step__Group_1_1__0 )? ) ;
    public final void rule__Step__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2071:1: ( ( ( rule__Step__Group_1_1__0 )? ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2072:1: ( ( rule__Step__Group_1_1__0 )? )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2072:1: ( ( rule__Step__Group_1_1__0 )? )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2073:1: ( rule__Step__Group_1_1__0 )?
            {
             before(grammarAccess.getStepAccess().getGroup_1_1()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2074:1: ( rule__Step__Group_1_1__0 )?
            int alt16=2;
            int LA16_0 = input.LA(1);

            if ( (LA16_0==26) ) {
                alt16=1;
            }
            switch (alt16) {
                case 1 :
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2074:2: rule__Step__Group_1_1__0
                    {
                    pushFollow(FOLLOW_rule__Step__Group_1_1__0_in_rule__Step__Group_1__1__Impl4205);
                    rule__Step__Group_1_1__0();
                    _fsp--;


                    }
                    break;

            }

             after(grammarAccess.getStepAccess().getGroup_1_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Step__Group_1__1__Impl


    // $ANTLR start rule__Step__Group_1_1__0
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2088:1: rule__Step__Group_1_1__0 : rule__Step__Group_1_1__0__Impl rule__Step__Group_1_1__1 ;
    public final void rule__Step__Group_1_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2092:1: ( rule__Step__Group_1_1__0__Impl rule__Step__Group_1_1__1 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2093:2: rule__Step__Group_1_1__0__Impl rule__Step__Group_1_1__1
            {
            pushFollow(FOLLOW_rule__Step__Group_1_1__0__Impl_in_rule__Step__Group_1_1__04240);
            rule__Step__Group_1_1__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Step__Group_1_1__1_in_rule__Step__Group_1_1__04243);
            rule__Step__Group_1_1__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Step__Group_1_1__0


    // $ANTLR start rule__Step__Group_1_1__0__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2100:1: rule__Step__Group_1_1__0__Impl : ( '#' ) ;
    public final void rule__Step__Group_1_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2104:1: ( ( '#' ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2105:1: ( '#' )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2105:1: ( '#' )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2106:1: '#'
            {
             before(grammarAccess.getStepAccess().getNumberSignKeyword_1_1_0()); 
            match(input,26,FOLLOW_26_in_rule__Step__Group_1_1__0__Impl4271); 
             after(grammarAccess.getStepAccess().getNumberSignKeyword_1_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Step__Group_1_1__0__Impl


    // $ANTLR start rule__Step__Group_1_1__1
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2119:1: rule__Step__Group_1_1__1 : rule__Step__Group_1_1__1__Impl ;
    public final void rule__Step__Group_1_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2123:1: ( rule__Step__Group_1_1__1__Impl )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2124:2: rule__Step__Group_1_1__1__Impl
            {
            pushFollow(FOLLOW_rule__Step__Group_1_1__1__Impl_in_rule__Step__Group_1_1__14302);
            rule__Step__Group_1_1__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Step__Group_1_1__1


    // $ANTLR start rule__Step__Group_1_1__1__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2130:1: rule__Step__Group_1_1__1__Impl : ( ( rule__Step__MatchAssignment_1_1_1 ) ) ;
    public final void rule__Step__Group_1_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2134:1: ( ( ( rule__Step__MatchAssignment_1_1_1 ) ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2135:1: ( ( rule__Step__MatchAssignment_1_1_1 ) )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2135:1: ( ( rule__Step__MatchAssignment_1_1_1 ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2136:1: ( rule__Step__MatchAssignment_1_1_1 )
            {
             before(grammarAccess.getStepAccess().getMatchAssignment_1_1_1()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2137:1: ( rule__Step__MatchAssignment_1_1_1 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2137:2: rule__Step__MatchAssignment_1_1_1
            {
            pushFollow(FOLLOW_rule__Step__MatchAssignment_1_1_1_in_rule__Step__Group_1_1__1__Impl4329);
            rule__Step__MatchAssignment_1_1_1();
            _fsp--;


            }

             after(grammarAccess.getStepAccess().getMatchAssignment_1_1_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Step__Group_1_1__1__Impl


    // $ANTLR start rule__Clause__Group__0
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2151:1: rule__Clause__Group__0 : rule__Clause__Group__0__Impl rule__Clause__Group__1 ;
    public final void rule__Clause__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2155:1: ( rule__Clause__Group__0__Impl rule__Clause__Group__1 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2156:2: rule__Clause__Group__0__Impl rule__Clause__Group__1
            {
            pushFollow(FOLLOW_rule__Clause__Group__0__Impl_in_rule__Clause__Group__04363);
            rule__Clause__Group__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Clause__Group__1_in_rule__Clause__Group__04366);
            rule__Clause__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Clause__Group__0


    // $ANTLR start rule__Clause__Group__0__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2163:1: rule__Clause__Group__0__Impl : ( ( rule__Clause__Group_0__0 )? ) ;
    public final void rule__Clause__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2167:1: ( ( ( rule__Clause__Group_0__0 )? ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2168:1: ( ( rule__Clause__Group_0__0 )? )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2168:1: ( ( rule__Clause__Group_0__0 )? )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2169:1: ( rule__Clause__Group_0__0 )?
            {
             before(grammarAccess.getClauseAccess().getGroup_0()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2170:1: ( rule__Clause__Group_0__0 )?
            int alt17=2;
            int LA17_0 = input.LA(1);

            if ( (LA17_0==27) ) {
                alt17=1;
            }
            switch (alt17) {
                case 1 :
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2170:2: rule__Clause__Group_0__0
                    {
                    pushFollow(FOLLOW_rule__Clause__Group_0__0_in_rule__Clause__Group__0__Impl4393);
                    rule__Clause__Group_0__0();
                    _fsp--;


                    }
                    break;

            }

             after(grammarAccess.getClauseAccess().getGroup_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Clause__Group__0__Impl


    // $ANTLR start rule__Clause__Group__1
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2180:1: rule__Clause__Group__1 : rule__Clause__Group__1__Impl rule__Clause__Group__2 ;
    public final void rule__Clause__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2184:1: ( rule__Clause__Group__1__Impl rule__Clause__Group__2 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2185:2: rule__Clause__Group__1__Impl rule__Clause__Group__2
            {
            pushFollow(FOLLOW_rule__Clause__Group__1__Impl_in_rule__Clause__Group__14424);
            rule__Clause__Group__1__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Clause__Group__2_in_rule__Clause__Group__14427);
            rule__Clause__Group__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Clause__Group__1


    // $ANTLR start rule__Clause__Group__1__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2192:1: rule__Clause__Group__1__Impl : ( ( rule__Clause__ConstraintsAssignment_1 ) ) ;
    public final void rule__Clause__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2196:1: ( ( ( rule__Clause__ConstraintsAssignment_1 ) ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2197:1: ( ( rule__Clause__ConstraintsAssignment_1 ) )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2197:1: ( ( rule__Clause__ConstraintsAssignment_1 ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2198:1: ( rule__Clause__ConstraintsAssignment_1 )
            {
             before(grammarAccess.getClauseAccess().getConstraintsAssignment_1()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2199:1: ( rule__Clause__ConstraintsAssignment_1 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2199:2: rule__Clause__ConstraintsAssignment_1
            {
            pushFollow(FOLLOW_rule__Clause__ConstraintsAssignment_1_in_rule__Clause__Group__1__Impl4454);
            rule__Clause__ConstraintsAssignment_1();
            _fsp--;


            }

             after(grammarAccess.getClauseAccess().getConstraintsAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Clause__Group__1__Impl


    // $ANTLR start rule__Clause__Group__2
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2209:1: rule__Clause__Group__2 : rule__Clause__Group__2__Impl ;
    public final void rule__Clause__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2213:1: ( rule__Clause__Group__2__Impl )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2214:2: rule__Clause__Group__2__Impl
            {
            pushFollow(FOLLOW_rule__Clause__Group__2__Impl_in_rule__Clause__Group__24484);
            rule__Clause__Group__2__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Clause__Group__2


    // $ANTLR start rule__Clause__Group__2__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2220:1: rule__Clause__Group__2__Impl : ( ( rule__Clause__Group_2__0 )* ) ;
    public final void rule__Clause__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2224:1: ( ( ( rule__Clause__Group_2__0 )* ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2225:1: ( ( rule__Clause__Group_2__0 )* )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2225:1: ( ( rule__Clause__Group_2__0 )* )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2226:1: ( rule__Clause__Group_2__0 )*
            {
             before(grammarAccess.getClauseAccess().getGroup_2()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2227:1: ( rule__Clause__Group_2__0 )*
            loop18:
            do {
                int alt18=2;
                int LA18_0 = input.LA(1);

                if ( (LA18_0==29) ) {
                    alt18=1;
                }


                switch (alt18) {
            	case 1 :
            	    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2227:2: rule__Clause__Group_2__0
            	    {
            	    pushFollow(FOLLOW_rule__Clause__Group_2__0_in_rule__Clause__Group__2__Impl4511);
            	    rule__Clause__Group_2__0();
            	    _fsp--;


            	    }
            	    break;

            	default :
            	    break loop18;
                }
            } while (true);

             after(grammarAccess.getClauseAccess().getGroup_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Clause__Group__2__Impl


    // $ANTLR start rule__Clause__Group_0__0
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2243:1: rule__Clause__Group_0__0 : rule__Clause__Group_0__0__Impl rule__Clause__Group_0__1 ;
    public final void rule__Clause__Group_0__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2247:1: ( rule__Clause__Group_0__0__Impl rule__Clause__Group_0__1 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2248:2: rule__Clause__Group_0__0__Impl rule__Clause__Group_0__1
            {
            pushFollow(FOLLOW_rule__Clause__Group_0__0__Impl_in_rule__Clause__Group_0__04548);
            rule__Clause__Group_0__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Clause__Group_0__1_in_rule__Clause__Group_0__04551);
            rule__Clause__Group_0__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Clause__Group_0__0


    // $ANTLR start rule__Clause__Group_0__0__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2255:1: rule__Clause__Group_0__0__Impl : ( 'exists' ) ;
    public final void rule__Clause__Group_0__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2259:1: ( ( 'exists' ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2260:1: ( 'exists' )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2260:1: ( 'exists' )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2261:1: 'exists'
            {
             before(grammarAccess.getClauseAccess().getExistsKeyword_0_0()); 
            match(input,27,FOLLOW_27_in_rule__Clause__Group_0__0__Impl4579); 
             after(grammarAccess.getClauseAccess().getExistsKeyword_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Clause__Group_0__0__Impl


    // $ANTLR start rule__Clause__Group_0__1
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2274:1: rule__Clause__Group_0__1 : rule__Clause__Group_0__1__Impl rule__Clause__Group_0__2 ;
    public final void rule__Clause__Group_0__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2278:1: ( rule__Clause__Group_0__1__Impl rule__Clause__Group_0__2 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2279:2: rule__Clause__Group_0__1__Impl rule__Clause__Group_0__2
            {
            pushFollow(FOLLOW_rule__Clause__Group_0__1__Impl_in_rule__Clause__Group_0__14610);
            rule__Clause__Group_0__1__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Clause__Group_0__2_in_rule__Clause__Group_0__14613);
            rule__Clause__Group_0__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Clause__Group_0__1


    // $ANTLR start rule__Clause__Group_0__1__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2286:1: rule__Clause__Group_0__1__Impl : ( ( rule__Clause__ExistentialsAssignment_0_1 ) ) ;
    public final void rule__Clause__Group_0__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2290:1: ( ( ( rule__Clause__ExistentialsAssignment_0_1 ) ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2291:1: ( ( rule__Clause__ExistentialsAssignment_0_1 ) )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2291:1: ( ( rule__Clause__ExistentialsAssignment_0_1 ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2292:1: ( rule__Clause__ExistentialsAssignment_0_1 )
            {
             before(grammarAccess.getClauseAccess().getExistentialsAssignment_0_1()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2293:1: ( rule__Clause__ExistentialsAssignment_0_1 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2293:2: rule__Clause__ExistentialsAssignment_0_1
            {
            pushFollow(FOLLOW_rule__Clause__ExistentialsAssignment_0_1_in_rule__Clause__Group_0__1__Impl4640);
            rule__Clause__ExistentialsAssignment_0_1();
            _fsp--;


            }

             after(grammarAccess.getClauseAccess().getExistentialsAssignment_0_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Clause__Group_0__1__Impl


    // $ANTLR start rule__Clause__Group_0__2
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2303:1: rule__Clause__Group_0__2 : rule__Clause__Group_0__2__Impl rule__Clause__Group_0__3 ;
    public final void rule__Clause__Group_0__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2307:1: ( rule__Clause__Group_0__2__Impl rule__Clause__Group_0__3 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2308:2: rule__Clause__Group_0__2__Impl rule__Clause__Group_0__3
            {
            pushFollow(FOLLOW_rule__Clause__Group_0__2__Impl_in_rule__Clause__Group_0__24670);
            rule__Clause__Group_0__2__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Clause__Group_0__3_in_rule__Clause__Group_0__24673);
            rule__Clause__Group_0__3();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Clause__Group_0__2


    // $ANTLR start rule__Clause__Group_0__2__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2315:1: rule__Clause__Group_0__2__Impl : ( ( rule__Clause__Group_0_2__0 )* ) ;
    public final void rule__Clause__Group_0__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2319:1: ( ( ( rule__Clause__Group_0_2__0 )* ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2320:1: ( ( rule__Clause__Group_0_2__0 )* )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2320:1: ( ( rule__Clause__Group_0_2__0 )* )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2321:1: ( rule__Clause__Group_0_2__0 )*
            {
             before(grammarAccess.getClauseAccess().getGroup_0_2()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2322:1: ( rule__Clause__Group_0_2__0 )*
            loop19:
            do {
                int alt19=2;
                int LA19_0 = input.LA(1);

                if ( (LA19_0==21) ) {
                    alt19=1;
                }


                switch (alt19) {
            	case 1 :
            	    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2322:2: rule__Clause__Group_0_2__0
            	    {
            	    pushFollow(FOLLOW_rule__Clause__Group_0_2__0_in_rule__Clause__Group_0__2__Impl4700);
            	    rule__Clause__Group_0_2__0();
            	    _fsp--;


            	    }
            	    break;

            	default :
            	    break loop19;
                }
            } while (true);

             after(grammarAccess.getClauseAccess().getGroup_0_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Clause__Group_0__2__Impl


    // $ANTLR start rule__Clause__Group_0__3
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2332:1: rule__Clause__Group_0__3 : rule__Clause__Group_0__3__Impl ;
    public final void rule__Clause__Group_0__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2336:1: ( rule__Clause__Group_0__3__Impl )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2337:2: rule__Clause__Group_0__3__Impl
            {
            pushFollow(FOLLOW_rule__Clause__Group_0__3__Impl_in_rule__Clause__Group_0__34731);
            rule__Clause__Group_0__3__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Clause__Group_0__3


    // $ANTLR start rule__Clause__Group_0__3__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2343:1: rule__Clause__Group_0__3__Impl : ( ':' ) ;
    public final void rule__Clause__Group_0__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2347:1: ( ( ':' ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2348:1: ( ':' )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2348:1: ( ':' )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2349:1: ':'
            {
             before(grammarAccess.getClauseAccess().getColonKeyword_0_3()); 
            match(input,28,FOLLOW_28_in_rule__Clause__Group_0__3__Impl4759); 
             after(grammarAccess.getClauseAccess().getColonKeyword_0_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Clause__Group_0__3__Impl


    // $ANTLR start rule__Clause__Group_0_2__0
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2370:1: rule__Clause__Group_0_2__0 : rule__Clause__Group_0_2__0__Impl rule__Clause__Group_0_2__1 ;
    public final void rule__Clause__Group_0_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2374:1: ( rule__Clause__Group_0_2__0__Impl rule__Clause__Group_0_2__1 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2375:2: rule__Clause__Group_0_2__0__Impl rule__Clause__Group_0_2__1
            {
            pushFollow(FOLLOW_rule__Clause__Group_0_2__0__Impl_in_rule__Clause__Group_0_2__04798);
            rule__Clause__Group_0_2__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Clause__Group_0_2__1_in_rule__Clause__Group_0_2__04801);
            rule__Clause__Group_0_2__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Clause__Group_0_2__0


    // $ANTLR start rule__Clause__Group_0_2__0__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2382:1: rule__Clause__Group_0_2__0__Impl : ( ',' ) ;
    public final void rule__Clause__Group_0_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2386:1: ( ( ',' ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2387:1: ( ',' )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2387:1: ( ',' )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2388:1: ','
            {
             before(grammarAccess.getClauseAccess().getCommaKeyword_0_2_0()); 
            match(input,21,FOLLOW_21_in_rule__Clause__Group_0_2__0__Impl4829); 
             after(grammarAccess.getClauseAccess().getCommaKeyword_0_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Clause__Group_0_2__0__Impl


    // $ANTLR start rule__Clause__Group_0_2__1
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2401:1: rule__Clause__Group_0_2__1 : rule__Clause__Group_0_2__1__Impl ;
    public final void rule__Clause__Group_0_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2405:1: ( rule__Clause__Group_0_2__1__Impl )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2406:2: rule__Clause__Group_0_2__1__Impl
            {
            pushFollow(FOLLOW_rule__Clause__Group_0_2__1__Impl_in_rule__Clause__Group_0_2__14860);
            rule__Clause__Group_0_2__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Clause__Group_0_2__1


    // $ANTLR start rule__Clause__Group_0_2__1__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2412:1: rule__Clause__Group_0_2__1__Impl : ( ( rule__Clause__ExistentialsAssignment_0_2_1 ) ) ;
    public final void rule__Clause__Group_0_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2416:1: ( ( ( rule__Clause__ExistentialsAssignment_0_2_1 ) ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2417:1: ( ( rule__Clause__ExistentialsAssignment_0_2_1 ) )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2417:1: ( ( rule__Clause__ExistentialsAssignment_0_2_1 ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2418:1: ( rule__Clause__ExistentialsAssignment_0_2_1 )
            {
             before(grammarAccess.getClauseAccess().getExistentialsAssignment_0_2_1()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2419:1: ( rule__Clause__ExistentialsAssignment_0_2_1 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2419:2: rule__Clause__ExistentialsAssignment_0_2_1
            {
            pushFollow(FOLLOW_rule__Clause__ExistentialsAssignment_0_2_1_in_rule__Clause__Group_0_2__1__Impl4887);
            rule__Clause__ExistentialsAssignment_0_2_1();
            _fsp--;


            }

             after(grammarAccess.getClauseAccess().getExistentialsAssignment_0_2_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Clause__Group_0_2__1__Impl


    // $ANTLR start rule__Clause__Group_2__0
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2433:1: rule__Clause__Group_2__0 : rule__Clause__Group_2__0__Impl rule__Clause__Group_2__1 ;
    public final void rule__Clause__Group_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2437:1: ( rule__Clause__Group_2__0__Impl rule__Clause__Group_2__1 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2438:2: rule__Clause__Group_2__0__Impl rule__Clause__Group_2__1
            {
            pushFollow(FOLLOW_rule__Clause__Group_2__0__Impl_in_rule__Clause__Group_2__04921);
            rule__Clause__Group_2__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Clause__Group_2__1_in_rule__Clause__Group_2__04924);
            rule__Clause__Group_2__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Clause__Group_2__0


    // $ANTLR start rule__Clause__Group_2__0__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2445:1: rule__Clause__Group_2__0__Impl : ( '&' ) ;
    public final void rule__Clause__Group_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2449:1: ( ( '&' ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2450:1: ( '&' )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2450:1: ( '&' )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2451:1: '&'
            {
             before(grammarAccess.getClauseAccess().getAmpersandKeyword_2_0()); 
            match(input,29,FOLLOW_29_in_rule__Clause__Group_2__0__Impl4952); 
             after(grammarAccess.getClauseAccess().getAmpersandKeyword_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Clause__Group_2__0__Impl


    // $ANTLR start rule__Clause__Group_2__1
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2464:1: rule__Clause__Group_2__1 : rule__Clause__Group_2__1__Impl ;
    public final void rule__Clause__Group_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2468:1: ( rule__Clause__Group_2__1__Impl )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2469:2: rule__Clause__Group_2__1__Impl
            {
            pushFollow(FOLLOW_rule__Clause__Group_2__1__Impl_in_rule__Clause__Group_2__14983);
            rule__Clause__Group_2__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Clause__Group_2__1


    // $ANTLR start rule__Clause__Group_2__1__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2475:1: rule__Clause__Group_2__1__Impl : ( ( rule__Clause__ConstraintsAssignment_2_1 ) ) ;
    public final void rule__Clause__Group_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2479:1: ( ( ( rule__Clause__ConstraintsAssignment_2_1 ) ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2480:1: ( ( rule__Clause__ConstraintsAssignment_2_1 ) )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2480:1: ( ( rule__Clause__ConstraintsAssignment_2_1 ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2481:1: ( rule__Clause__ConstraintsAssignment_2_1 )
            {
             before(grammarAccess.getClauseAccess().getConstraintsAssignment_2_1()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2482:1: ( rule__Clause__ConstraintsAssignment_2_1 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2482:2: rule__Clause__ConstraintsAssignment_2_1
            {
            pushFollow(FOLLOW_rule__Clause__ConstraintsAssignment_2_1_in_rule__Clause__Group_2__1__Impl5010);
            rule__Clause__ConstraintsAssignment_2_1();
            _fsp--;


            }

             after(grammarAccess.getClauseAccess().getConstraintsAssignment_2_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Clause__Group_2__1__Impl


    // $ANTLR start rule__Constraint__Group_0__0
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2496:1: rule__Constraint__Group_0__0 : rule__Constraint__Group_0__0__Impl rule__Constraint__Group_0__1 ;
    public final void rule__Constraint__Group_0__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2500:1: ( rule__Constraint__Group_0__0__Impl rule__Constraint__Group_0__1 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2501:2: rule__Constraint__Group_0__0__Impl rule__Constraint__Group_0__1
            {
            pushFollow(FOLLOW_rule__Constraint__Group_0__0__Impl_in_rule__Constraint__Group_0__05044);
            rule__Constraint__Group_0__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Constraint__Group_0__1_in_rule__Constraint__Group_0__05047);
            rule__Constraint__Group_0__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Constraint__Group_0__0


    // $ANTLR start rule__Constraint__Group_0__0__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2508:1: rule__Constraint__Group_0__0__Impl : ( '[' ) ;
    public final void rule__Constraint__Group_0__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2512:1: ( ( '[' ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2513:1: ( '[' )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2513:1: ( '[' )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2514:1: '['
            {
             before(grammarAccess.getConstraintAccess().getLeftSquareBracketKeyword_0_0()); 
            match(input,30,FOLLOW_30_in_rule__Constraint__Group_0__0__Impl5075); 
             after(grammarAccess.getConstraintAccess().getLeftSquareBracketKeyword_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Constraint__Group_0__0__Impl


    // $ANTLR start rule__Constraint__Group_0__1
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2527:1: rule__Constraint__Group_0__1 : rule__Constraint__Group_0__1__Impl rule__Constraint__Group_0__2 ;
    public final void rule__Constraint__Group_0__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2531:1: ( rule__Constraint__Group_0__1__Impl rule__Constraint__Group_0__2 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2532:2: rule__Constraint__Group_0__1__Impl rule__Constraint__Group_0__2
            {
            pushFollow(FOLLOW_rule__Constraint__Group_0__1__Impl_in_rule__Constraint__Group_0__15106);
            rule__Constraint__Group_0__1__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Constraint__Group_0__2_in_rule__Constraint__Group_0__15109);
            rule__Constraint__Group_0__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Constraint__Group_0__1


    // $ANTLR start rule__Constraint__Group_0__1__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2539:1: rule__Constraint__Group_0__1__Impl : ( ruleBasicConstraint ) ;
    public final void rule__Constraint__Group_0__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2543:1: ( ( ruleBasicConstraint ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2544:1: ( ruleBasicConstraint )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2544:1: ( ruleBasicConstraint )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2545:1: ruleBasicConstraint
            {
             before(grammarAccess.getConstraintAccess().getBasicConstraintParserRuleCall_0_1()); 
            pushFollow(FOLLOW_ruleBasicConstraint_in_rule__Constraint__Group_0__1__Impl5136);
            ruleBasicConstraint();
            _fsp--;

             after(grammarAccess.getConstraintAccess().getBasicConstraintParserRuleCall_0_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Constraint__Group_0__1__Impl


    // $ANTLR start rule__Constraint__Group_0__2
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2556:1: rule__Constraint__Group_0__2 : rule__Constraint__Group_0__2__Impl ;
    public final void rule__Constraint__Group_0__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2560:1: ( rule__Constraint__Group_0__2__Impl )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2561:2: rule__Constraint__Group_0__2__Impl
            {
            pushFollow(FOLLOW_rule__Constraint__Group_0__2__Impl_in_rule__Constraint__Group_0__25165);
            rule__Constraint__Group_0__2__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Constraint__Group_0__2


    // $ANTLR start rule__Constraint__Group_0__2__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2567:1: rule__Constraint__Group_0__2__Impl : ( ( rule__Constraint__InferredAssignment_0_2 ) ) ;
    public final void rule__Constraint__Group_0__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2571:1: ( ( ( rule__Constraint__InferredAssignment_0_2 ) ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2572:1: ( ( rule__Constraint__InferredAssignment_0_2 ) )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2572:1: ( ( rule__Constraint__InferredAssignment_0_2 ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2573:1: ( rule__Constraint__InferredAssignment_0_2 )
            {
             before(grammarAccess.getConstraintAccess().getInferredAssignment_0_2()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2574:1: ( rule__Constraint__InferredAssignment_0_2 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2574:2: rule__Constraint__InferredAssignment_0_2
            {
            pushFollow(FOLLOW_rule__Constraint__InferredAssignment_0_2_in_rule__Constraint__Group_0__2__Impl5192);
            rule__Constraint__InferredAssignment_0_2();
            _fsp--;


            }

             after(grammarAccess.getConstraintAccess().getInferredAssignment_0_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Constraint__Group_0__2__Impl


    // $ANTLR start rule__Inclusion__Group__0
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2590:1: rule__Inclusion__Group__0 : rule__Inclusion__Group__0__Impl rule__Inclusion__Group__1 ;
    public final void rule__Inclusion__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2594:1: ( rule__Inclusion__Group__0__Impl rule__Inclusion__Group__1 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2595:2: rule__Inclusion__Group__0__Impl rule__Inclusion__Group__1
            {
            pushFollow(FOLLOW_rule__Inclusion__Group__0__Impl_in_rule__Inclusion__Group__05228);
            rule__Inclusion__Group__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Inclusion__Group__1_in_rule__Inclusion__Group__05231);
            rule__Inclusion__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Inclusion__Group__0


    // $ANTLR start rule__Inclusion__Group__0__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2602:1: rule__Inclusion__Group__0__Impl : ( ( rule__Inclusion__TargetAssignment_0 ) ) ;
    public final void rule__Inclusion__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2606:1: ( ( ( rule__Inclusion__TargetAssignment_0 ) ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2607:1: ( ( rule__Inclusion__TargetAssignment_0 ) )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2607:1: ( ( rule__Inclusion__TargetAssignment_0 ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2608:1: ( rule__Inclusion__TargetAssignment_0 )
            {
             before(grammarAccess.getInclusionAccess().getTargetAssignment_0()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2609:1: ( rule__Inclusion__TargetAssignment_0 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2609:2: rule__Inclusion__TargetAssignment_0
            {
            pushFollow(FOLLOW_rule__Inclusion__TargetAssignment_0_in_rule__Inclusion__Group__0__Impl5258);
            rule__Inclusion__TargetAssignment_0();
            _fsp--;


            }

             after(grammarAccess.getInclusionAccess().getTargetAssignment_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Inclusion__Group__0__Impl


    // $ANTLR start rule__Inclusion__Group__1
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2619:1: rule__Inclusion__Group__1 : rule__Inclusion__Group__1__Impl rule__Inclusion__Group__2 ;
    public final void rule__Inclusion__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2623:1: ( rule__Inclusion__Group__1__Impl rule__Inclusion__Group__2 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2624:2: rule__Inclusion__Group__1__Impl rule__Inclusion__Group__2
            {
            pushFollow(FOLLOW_rule__Inclusion__Group__1__Impl_in_rule__Inclusion__Group__15288);
            rule__Inclusion__Group__1__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Inclusion__Group__2_in_rule__Inclusion__Group__15291);
            rule__Inclusion__Group__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Inclusion__Group__1


    // $ANTLR start rule__Inclusion__Group__1__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2631:1: rule__Inclusion__Group__1__Impl : ( '(' ) ;
    public final void rule__Inclusion__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2635:1: ( ( '(' ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2636:1: ( '(' )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2636:1: ( '(' )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2637:1: '('
            {
             before(grammarAccess.getInclusionAccess().getLeftParenthesisKeyword_1()); 
            match(input,19,FOLLOW_19_in_rule__Inclusion__Group__1__Impl5319); 
             after(grammarAccess.getInclusionAccess().getLeftParenthesisKeyword_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Inclusion__Group__1__Impl


    // $ANTLR start rule__Inclusion__Group__2
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2650:1: rule__Inclusion__Group__2 : rule__Inclusion__Group__2__Impl rule__Inclusion__Group__3 ;
    public final void rule__Inclusion__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2654:1: ( rule__Inclusion__Group__2__Impl rule__Inclusion__Group__3 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2655:2: rule__Inclusion__Group__2__Impl rule__Inclusion__Group__3
            {
            pushFollow(FOLLOW_rule__Inclusion__Group__2__Impl_in_rule__Inclusion__Group__25350);
            rule__Inclusion__Group__2__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Inclusion__Group__3_in_rule__Inclusion__Group__25353);
            rule__Inclusion__Group__3();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Inclusion__Group__2


    // $ANTLR start rule__Inclusion__Group__2__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2662:1: rule__Inclusion__Group__2__Impl : ( ( rule__Inclusion__Group_2__0 )? ) ;
    public final void rule__Inclusion__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2666:1: ( ( ( rule__Inclusion__Group_2__0 )? ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2667:1: ( ( rule__Inclusion__Group_2__0 )? )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2667:1: ( ( rule__Inclusion__Group_2__0 )? )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2668:1: ( rule__Inclusion__Group_2__0 )?
            {
             before(grammarAccess.getInclusionAccess().getGroup_2()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2669:1: ( rule__Inclusion__Group_2__0 )?
            int alt20=2;
            int LA20_0 = input.LA(1);

            if ( (LA20_0==RULE_ID) ) {
                alt20=1;
            }
            switch (alt20) {
                case 1 :
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2669:2: rule__Inclusion__Group_2__0
                    {
                    pushFollow(FOLLOW_rule__Inclusion__Group_2__0_in_rule__Inclusion__Group__2__Impl5380);
                    rule__Inclusion__Group_2__0();
                    _fsp--;


                    }
                    break;

            }

             after(grammarAccess.getInclusionAccess().getGroup_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Inclusion__Group__2__Impl


    // $ANTLR start rule__Inclusion__Group__3
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2679:1: rule__Inclusion__Group__3 : rule__Inclusion__Group__3__Impl ;
    public final void rule__Inclusion__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2683:1: ( rule__Inclusion__Group__3__Impl )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2684:2: rule__Inclusion__Group__3__Impl
            {
            pushFollow(FOLLOW_rule__Inclusion__Group__3__Impl_in_rule__Inclusion__Group__35411);
            rule__Inclusion__Group__3__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Inclusion__Group__3


    // $ANTLR start rule__Inclusion__Group__3__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2690:1: rule__Inclusion__Group__3__Impl : ( ')' ) ;
    public final void rule__Inclusion__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2694:1: ( ( ')' ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2695:1: ( ')' )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2695:1: ( ')' )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2696:1: ')'
            {
             before(grammarAccess.getInclusionAccess().getRightParenthesisKeyword_3()); 
            match(input,20,FOLLOW_20_in_rule__Inclusion__Group__3__Impl5439); 
             after(grammarAccess.getInclusionAccess().getRightParenthesisKeyword_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Inclusion__Group__3__Impl


    // $ANTLR start rule__Inclusion__Group_2__0
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2717:1: rule__Inclusion__Group_2__0 : rule__Inclusion__Group_2__0__Impl rule__Inclusion__Group_2__1 ;
    public final void rule__Inclusion__Group_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2721:1: ( rule__Inclusion__Group_2__0__Impl rule__Inclusion__Group_2__1 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2722:2: rule__Inclusion__Group_2__0__Impl rule__Inclusion__Group_2__1
            {
            pushFollow(FOLLOW_rule__Inclusion__Group_2__0__Impl_in_rule__Inclusion__Group_2__05478);
            rule__Inclusion__Group_2__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Inclusion__Group_2__1_in_rule__Inclusion__Group_2__05481);
            rule__Inclusion__Group_2__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Inclusion__Group_2__0


    // $ANTLR start rule__Inclusion__Group_2__0__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2729:1: rule__Inclusion__Group_2__0__Impl : ( ( rule__Inclusion__ArgumentsAssignment_2_0 ) ) ;
    public final void rule__Inclusion__Group_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2733:1: ( ( ( rule__Inclusion__ArgumentsAssignment_2_0 ) ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2734:1: ( ( rule__Inclusion__ArgumentsAssignment_2_0 ) )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2734:1: ( ( rule__Inclusion__ArgumentsAssignment_2_0 ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2735:1: ( rule__Inclusion__ArgumentsAssignment_2_0 )
            {
             before(grammarAccess.getInclusionAccess().getArgumentsAssignment_2_0()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2736:1: ( rule__Inclusion__ArgumentsAssignment_2_0 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2736:2: rule__Inclusion__ArgumentsAssignment_2_0
            {
            pushFollow(FOLLOW_rule__Inclusion__ArgumentsAssignment_2_0_in_rule__Inclusion__Group_2__0__Impl5508);
            rule__Inclusion__ArgumentsAssignment_2_0();
            _fsp--;


            }

             after(grammarAccess.getInclusionAccess().getArgumentsAssignment_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Inclusion__Group_2__0__Impl


    // $ANTLR start rule__Inclusion__Group_2__1
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2746:1: rule__Inclusion__Group_2__1 : rule__Inclusion__Group_2__1__Impl ;
    public final void rule__Inclusion__Group_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2750:1: ( rule__Inclusion__Group_2__1__Impl )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2751:2: rule__Inclusion__Group_2__1__Impl
            {
            pushFollow(FOLLOW_rule__Inclusion__Group_2__1__Impl_in_rule__Inclusion__Group_2__15538);
            rule__Inclusion__Group_2__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Inclusion__Group_2__1


    // $ANTLR start rule__Inclusion__Group_2__1__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2757:1: rule__Inclusion__Group_2__1__Impl : ( ( rule__Inclusion__Group_2_1__0 )* ) ;
    public final void rule__Inclusion__Group_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2761:1: ( ( ( rule__Inclusion__Group_2_1__0 )* ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2762:1: ( ( rule__Inclusion__Group_2_1__0 )* )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2762:1: ( ( rule__Inclusion__Group_2_1__0 )* )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2763:1: ( rule__Inclusion__Group_2_1__0 )*
            {
             before(grammarAccess.getInclusionAccess().getGroup_2_1()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2764:1: ( rule__Inclusion__Group_2_1__0 )*
            loop21:
            do {
                int alt21=2;
                int LA21_0 = input.LA(1);

                if ( (LA21_0==21) ) {
                    alt21=1;
                }


                switch (alt21) {
            	case 1 :
            	    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2764:2: rule__Inclusion__Group_2_1__0
            	    {
            	    pushFollow(FOLLOW_rule__Inclusion__Group_2_1__0_in_rule__Inclusion__Group_2__1__Impl5565);
            	    rule__Inclusion__Group_2_1__0();
            	    _fsp--;


            	    }
            	    break;

            	default :
            	    break loop21;
                }
            } while (true);

             after(grammarAccess.getInclusionAccess().getGroup_2_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Inclusion__Group_2__1__Impl


    // $ANTLR start rule__Inclusion__Group_2_1__0
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2778:1: rule__Inclusion__Group_2_1__0 : rule__Inclusion__Group_2_1__0__Impl rule__Inclusion__Group_2_1__1 ;
    public final void rule__Inclusion__Group_2_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2782:1: ( rule__Inclusion__Group_2_1__0__Impl rule__Inclusion__Group_2_1__1 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2783:2: rule__Inclusion__Group_2_1__0__Impl rule__Inclusion__Group_2_1__1
            {
            pushFollow(FOLLOW_rule__Inclusion__Group_2_1__0__Impl_in_rule__Inclusion__Group_2_1__05600);
            rule__Inclusion__Group_2_1__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Inclusion__Group_2_1__1_in_rule__Inclusion__Group_2_1__05603);
            rule__Inclusion__Group_2_1__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Inclusion__Group_2_1__0


    // $ANTLR start rule__Inclusion__Group_2_1__0__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2790:1: rule__Inclusion__Group_2_1__0__Impl : ( ',' ) ;
    public final void rule__Inclusion__Group_2_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2794:1: ( ( ',' ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2795:1: ( ',' )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2795:1: ( ',' )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2796:1: ','
            {
             before(grammarAccess.getInclusionAccess().getCommaKeyword_2_1_0()); 
            match(input,21,FOLLOW_21_in_rule__Inclusion__Group_2_1__0__Impl5631); 
             after(grammarAccess.getInclusionAccess().getCommaKeyword_2_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Inclusion__Group_2_1__0__Impl


    // $ANTLR start rule__Inclusion__Group_2_1__1
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2809:1: rule__Inclusion__Group_2_1__1 : rule__Inclusion__Group_2_1__1__Impl ;
    public final void rule__Inclusion__Group_2_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2813:1: ( rule__Inclusion__Group_2_1__1__Impl )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2814:2: rule__Inclusion__Group_2_1__1__Impl
            {
            pushFollow(FOLLOW_rule__Inclusion__Group_2_1__1__Impl_in_rule__Inclusion__Group_2_1__15662);
            rule__Inclusion__Group_2_1__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Inclusion__Group_2_1__1


    // $ANTLR start rule__Inclusion__Group_2_1__1__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2820:1: rule__Inclusion__Group_2_1__1__Impl : ( ( rule__Inclusion__ArgumentsAssignment_2_1_1 ) ) ;
    public final void rule__Inclusion__Group_2_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2824:1: ( ( ( rule__Inclusion__ArgumentsAssignment_2_1_1 ) ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2825:1: ( ( rule__Inclusion__ArgumentsAssignment_2_1_1 ) )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2825:1: ( ( rule__Inclusion__ArgumentsAssignment_2_1_1 ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2826:1: ( rule__Inclusion__ArgumentsAssignment_2_1_1 )
            {
             before(grammarAccess.getInclusionAccess().getArgumentsAssignment_2_1_1()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2827:1: ( rule__Inclusion__ArgumentsAssignment_2_1_1 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2827:2: rule__Inclusion__ArgumentsAssignment_2_1_1
            {
            pushFollow(FOLLOW_rule__Inclusion__ArgumentsAssignment_2_1_1_in_rule__Inclusion__Group_2_1__1__Impl5689);
            rule__Inclusion__ArgumentsAssignment_2_1_1();
            _fsp--;


            }

             after(grammarAccess.getInclusionAccess().getArgumentsAssignment_2_1_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Inclusion__Group_2_1__1__Impl


    // $ANTLR start rule__Equation__Group__0
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2841:1: rule__Equation__Group__0 : rule__Equation__Group__0__Impl rule__Equation__Group__1 ;
    public final void rule__Equation__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2845:1: ( rule__Equation__Group__0__Impl rule__Equation__Group__1 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2846:2: rule__Equation__Group__0__Impl rule__Equation__Group__1
            {
            pushFollow(FOLLOW_rule__Equation__Group__0__Impl_in_rule__Equation__Group__05723);
            rule__Equation__Group__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Equation__Group__1_in_rule__Equation__Group__05726);
            rule__Equation__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Equation__Group__0


    // $ANTLR start rule__Equation__Group__0__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2853:1: rule__Equation__Group__0__Impl : ( ( rule__Equation__LeftAssignment_0 ) ) ;
    public final void rule__Equation__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2857:1: ( ( ( rule__Equation__LeftAssignment_0 ) ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2858:1: ( ( rule__Equation__LeftAssignment_0 ) )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2858:1: ( ( rule__Equation__LeftAssignment_0 ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2859:1: ( rule__Equation__LeftAssignment_0 )
            {
             before(grammarAccess.getEquationAccess().getLeftAssignment_0()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2860:1: ( rule__Equation__LeftAssignment_0 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2860:2: rule__Equation__LeftAssignment_0
            {
            pushFollow(FOLLOW_rule__Equation__LeftAssignment_0_in_rule__Equation__Group__0__Impl5753);
            rule__Equation__LeftAssignment_0();
            _fsp--;


            }

             after(grammarAccess.getEquationAccess().getLeftAssignment_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Equation__Group__0__Impl


    // $ANTLR start rule__Equation__Group__1
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2870:1: rule__Equation__Group__1 : rule__Equation__Group__1__Impl rule__Equation__Group__2 ;
    public final void rule__Equation__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2874:1: ( rule__Equation__Group__1__Impl rule__Equation__Group__2 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2875:2: rule__Equation__Group__1__Impl rule__Equation__Group__2
            {
            pushFollow(FOLLOW_rule__Equation__Group__1__Impl_in_rule__Equation__Group__15783);
            rule__Equation__Group__1__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Equation__Group__2_in_rule__Equation__Group__15786);
            rule__Equation__Group__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Equation__Group__1


    // $ANTLR start rule__Equation__Group__1__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2882:1: rule__Equation__Group__1__Impl : ( ( rule__Equation__TypeAssignment_1 ) ) ;
    public final void rule__Equation__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2886:1: ( ( ( rule__Equation__TypeAssignment_1 ) ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2887:1: ( ( rule__Equation__TypeAssignment_1 ) )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2887:1: ( ( rule__Equation__TypeAssignment_1 ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2888:1: ( rule__Equation__TypeAssignment_1 )
            {
             before(grammarAccess.getEquationAccess().getTypeAssignment_1()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2889:1: ( rule__Equation__TypeAssignment_1 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2889:2: rule__Equation__TypeAssignment_1
            {
            pushFollow(FOLLOW_rule__Equation__TypeAssignment_1_in_rule__Equation__Group__1__Impl5813);
            rule__Equation__TypeAssignment_1();
            _fsp--;


            }

             after(grammarAccess.getEquationAccess().getTypeAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Equation__Group__1__Impl


    // $ANTLR start rule__Equation__Group__2
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2899:1: rule__Equation__Group__2 : rule__Equation__Group__2__Impl ;
    public final void rule__Equation__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2903:1: ( rule__Equation__Group__2__Impl )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2904:2: rule__Equation__Group__2__Impl
            {
            pushFollow(FOLLOW_rule__Equation__Group__2__Impl_in_rule__Equation__Group__25843);
            rule__Equation__Group__2__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Equation__Group__2


    // $ANTLR start rule__Equation__Group__2__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2910:1: rule__Equation__Group__2__Impl : ( ( rule__Equation__RightAssignment_2 ) ) ;
    public final void rule__Equation__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2914:1: ( ( ( rule__Equation__RightAssignment_2 ) ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2915:1: ( ( rule__Equation__RightAssignment_2 ) )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2915:1: ( ( rule__Equation__RightAssignment_2 ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2916:1: ( rule__Equation__RightAssignment_2 )
            {
             before(grammarAccess.getEquationAccess().getRightAssignment_2()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2917:1: ( rule__Equation__RightAssignment_2 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2917:2: rule__Equation__RightAssignment_2
            {
            pushFollow(FOLLOW_rule__Equation__RightAssignment_2_in_rule__Equation__Group__2__Impl5870);
            rule__Equation__RightAssignment_2();
            _fsp--;


            }

             after(grammarAccess.getEquationAccess().getRightAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Equation__Group__2__Impl


    // $ANTLR start rule__Addition__Group__0
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2933:1: rule__Addition__Group__0 : rule__Addition__Group__0__Impl rule__Addition__Group__1 ;
    public final void rule__Addition__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2937:1: ( rule__Addition__Group__0__Impl rule__Addition__Group__1 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2938:2: rule__Addition__Group__0__Impl rule__Addition__Group__1
            {
            pushFollow(FOLLOW_rule__Addition__Group__0__Impl_in_rule__Addition__Group__05906);
            rule__Addition__Group__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Addition__Group__1_in_rule__Addition__Group__05909);
            rule__Addition__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Addition__Group__0


    // $ANTLR start rule__Addition__Group__0__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2945:1: rule__Addition__Group__0__Impl : ( ruleMultiplication ) ;
    public final void rule__Addition__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2949:1: ( ( ruleMultiplication ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2950:1: ( ruleMultiplication )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2950:1: ( ruleMultiplication )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2951:1: ruleMultiplication
            {
             before(grammarAccess.getAdditionAccess().getMultiplicationParserRuleCall_0()); 
            pushFollow(FOLLOW_ruleMultiplication_in_rule__Addition__Group__0__Impl5936);
            ruleMultiplication();
            _fsp--;

             after(grammarAccess.getAdditionAccess().getMultiplicationParserRuleCall_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Addition__Group__0__Impl


    // $ANTLR start rule__Addition__Group__1
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2962:1: rule__Addition__Group__1 : rule__Addition__Group__1__Impl ;
    public final void rule__Addition__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2966:1: ( rule__Addition__Group__1__Impl )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2967:2: rule__Addition__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__Addition__Group__1__Impl_in_rule__Addition__Group__15965);
            rule__Addition__Group__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Addition__Group__1


    // $ANTLR start rule__Addition__Group__1__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2973:1: rule__Addition__Group__1__Impl : ( ( rule__Addition__Group_1__0 )? ) ;
    public final void rule__Addition__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2977:1: ( ( ( rule__Addition__Group_1__0 )? ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2978:1: ( ( rule__Addition__Group_1__0 )? )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2978:1: ( ( rule__Addition__Group_1__0 )? )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2979:1: ( rule__Addition__Group_1__0 )?
            {
             before(grammarAccess.getAdditionAccess().getGroup_1()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2980:1: ( rule__Addition__Group_1__0 )?
            int alt22=2;
            int LA22_0 = input.LA(1);

            if ( (LA22_0==31||LA22_0==35) ) {
                alt22=1;
            }
            switch (alt22) {
                case 1 :
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2980:2: rule__Addition__Group_1__0
                    {
                    pushFollow(FOLLOW_rule__Addition__Group_1__0_in_rule__Addition__Group__1__Impl5992);
                    rule__Addition__Group_1__0();
                    _fsp--;


                    }
                    break;

            }

             after(grammarAccess.getAdditionAccess().getGroup_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Addition__Group__1__Impl


    // $ANTLR start rule__Addition__Group_1__0
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2994:1: rule__Addition__Group_1__0 : rule__Addition__Group_1__0__Impl rule__Addition__Group_1__1 ;
    public final void rule__Addition__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2998:1: ( rule__Addition__Group_1__0__Impl rule__Addition__Group_1__1 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:2999:2: rule__Addition__Group_1__0__Impl rule__Addition__Group_1__1
            {
            pushFollow(FOLLOW_rule__Addition__Group_1__0__Impl_in_rule__Addition__Group_1__06027);
            rule__Addition__Group_1__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Addition__Group_1__1_in_rule__Addition__Group_1__06030);
            rule__Addition__Group_1__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Addition__Group_1__0


    // $ANTLR start rule__Addition__Group_1__0__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3006:1: rule__Addition__Group_1__0__Impl : ( () ) ;
    public final void rule__Addition__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3010:1: ( ( () ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3011:1: ( () )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3011:1: ( () )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3012:1: ()
            {
             before(grammarAccess.getAdditionAccess().getAdditionOperandsAction_1_0()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3013:1: ()
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3015:1: 
            {
            }

             after(grammarAccess.getAdditionAccess().getAdditionOperandsAction_1_0()); 

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Addition__Group_1__0__Impl


    // $ANTLR start rule__Addition__Group_1__1
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3025:1: rule__Addition__Group_1__1 : rule__Addition__Group_1__1__Impl ;
    public final void rule__Addition__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3029:1: ( rule__Addition__Group_1__1__Impl )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3030:2: rule__Addition__Group_1__1__Impl
            {
            pushFollow(FOLLOW_rule__Addition__Group_1__1__Impl_in_rule__Addition__Group_1__16088);
            rule__Addition__Group_1__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Addition__Group_1__1


    // $ANTLR start rule__Addition__Group_1__1__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3036:1: rule__Addition__Group_1__1__Impl : ( ( ( rule__Addition__Alternatives_1_1 ) ) ( ( rule__Addition__Alternatives_1_1 )* ) ) ;
    public final void rule__Addition__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3040:1: ( ( ( ( rule__Addition__Alternatives_1_1 ) ) ( ( rule__Addition__Alternatives_1_1 )* ) ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3041:1: ( ( ( rule__Addition__Alternatives_1_1 ) ) ( ( rule__Addition__Alternatives_1_1 )* ) )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3041:1: ( ( ( rule__Addition__Alternatives_1_1 ) ) ( ( rule__Addition__Alternatives_1_1 )* ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3042:1: ( ( rule__Addition__Alternatives_1_1 ) ) ( ( rule__Addition__Alternatives_1_1 )* )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3042:1: ( ( rule__Addition__Alternatives_1_1 ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3043:1: ( rule__Addition__Alternatives_1_1 )
            {
             before(grammarAccess.getAdditionAccess().getAlternatives_1_1()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3044:1: ( rule__Addition__Alternatives_1_1 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3044:2: rule__Addition__Alternatives_1_1
            {
            pushFollow(FOLLOW_rule__Addition__Alternatives_1_1_in_rule__Addition__Group_1__1__Impl6117);
            rule__Addition__Alternatives_1_1();
            _fsp--;


            }

             after(grammarAccess.getAdditionAccess().getAlternatives_1_1()); 

            }

            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3047:1: ( ( rule__Addition__Alternatives_1_1 )* )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3048:1: ( rule__Addition__Alternatives_1_1 )*
            {
             before(grammarAccess.getAdditionAccess().getAlternatives_1_1()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3049:1: ( rule__Addition__Alternatives_1_1 )*
            loop23:
            do {
                int alt23=2;
                int LA23_0 = input.LA(1);

                if ( (LA23_0==31||LA23_0==35) ) {
                    alt23=1;
                }


                switch (alt23) {
            	case 1 :
            	    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3049:2: rule__Addition__Alternatives_1_1
            	    {
            	    pushFollow(FOLLOW_rule__Addition__Alternatives_1_1_in_rule__Addition__Group_1__1__Impl6129);
            	    rule__Addition__Alternatives_1_1();
            	    _fsp--;


            	    }
            	    break;

            	default :
            	    break loop23;
                }
            } while (true);

             after(grammarAccess.getAdditionAccess().getAlternatives_1_1()); 

            }


            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Addition__Group_1__1__Impl


    // $ANTLR start rule__Addition__Group_1_1_0__0
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3064:1: rule__Addition__Group_1_1_0__0 : rule__Addition__Group_1_1_0__0__Impl rule__Addition__Group_1_1_0__1 ;
    public final void rule__Addition__Group_1_1_0__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3068:1: ( rule__Addition__Group_1_1_0__0__Impl rule__Addition__Group_1_1_0__1 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3069:2: rule__Addition__Group_1_1_0__0__Impl rule__Addition__Group_1_1_0__1
            {
            pushFollow(FOLLOW_rule__Addition__Group_1_1_0__0__Impl_in_rule__Addition__Group_1_1_0__06166);
            rule__Addition__Group_1_1_0__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Addition__Group_1_1_0__1_in_rule__Addition__Group_1_1_0__06169);
            rule__Addition__Group_1_1_0__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Addition__Group_1_1_0__0


    // $ANTLR start rule__Addition__Group_1_1_0__0__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3076:1: rule__Addition__Group_1_1_0__0__Impl : ( '+' ) ;
    public final void rule__Addition__Group_1_1_0__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3080:1: ( ( '+' ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3081:1: ( '+' )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3081:1: ( '+' )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3082:1: '+'
            {
             before(grammarAccess.getAdditionAccess().getPlusSignKeyword_1_1_0_0()); 
            match(input,31,FOLLOW_31_in_rule__Addition__Group_1_1_0__0__Impl6197); 
             after(grammarAccess.getAdditionAccess().getPlusSignKeyword_1_1_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Addition__Group_1_1_0__0__Impl


    // $ANTLR start rule__Addition__Group_1_1_0__1
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3095:1: rule__Addition__Group_1_1_0__1 : rule__Addition__Group_1_1_0__1__Impl ;
    public final void rule__Addition__Group_1_1_0__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3099:1: ( rule__Addition__Group_1_1_0__1__Impl )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3100:2: rule__Addition__Group_1_1_0__1__Impl
            {
            pushFollow(FOLLOW_rule__Addition__Group_1_1_0__1__Impl_in_rule__Addition__Group_1_1_0__16228);
            rule__Addition__Group_1_1_0__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Addition__Group_1_1_0__1


    // $ANTLR start rule__Addition__Group_1_1_0__1__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3106:1: rule__Addition__Group_1_1_0__1__Impl : ( ( rule__Addition__OperandsAssignment_1_1_0_1 ) ) ;
    public final void rule__Addition__Group_1_1_0__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3110:1: ( ( ( rule__Addition__OperandsAssignment_1_1_0_1 ) ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3111:1: ( ( rule__Addition__OperandsAssignment_1_1_0_1 ) )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3111:1: ( ( rule__Addition__OperandsAssignment_1_1_0_1 ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3112:1: ( rule__Addition__OperandsAssignment_1_1_0_1 )
            {
             before(grammarAccess.getAdditionAccess().getOperandsAssignment_1_1_0_1()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3113:1: ( rule__Addition__OperandsAssignment_1_1_0_1 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3113:2: rule__Addition__OperandsAssignment_1_1_0_1
            {
            pushFollow(FOLLOW_rule__Addition__OperandsAssignment_1_1_0_1_in_rule__Addition__Group_1_1_0__1__Impl6255);
            rule__Addition__OperandsAssignment_1_1_0_1();
            _fsp--;


            }

             after(grammarAccess.getAdditionAccess().getOperandsAssignment_1_1_0_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Addition__Group_1_1_0__1__Impl


    // $ANTLR start rule__Multiplication__Group__0
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3127:1: rule__Multiplication__Group__0 : rule__Multiplication__Group__0__Impl rule__Multiplication__Group__1 ;
    public final void rule__Multiplication__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3131:1: ( rule__Multiplication__Group__0__Impl rule__Multiplication__Group__1 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3132:2: rule__Multiplication__Group__0__Impl rule__Multiplication__Group__1
            {
            pushFollow(FOLLOW_rule__Multiplication__Group__0__Impl_in_rule__Multiplication__Group__06289);
            rule__Multiplication__Group__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Multiplication__Group__1_in_rule__Multiplication__Group__06292);
            rule__Multiplication__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Multiplication__Group__0


    // $ANTLR start rule__Multiplication__Group__0__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3139:1: rule__Multiplication__Group__0__Impl : ( ruleDivision ) ;
    public final void rule__Multiplication__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3143:1: ( ( ruleDivision ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3144:1: ( ruleDivision )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3144:1: ( ruleDivision )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3145:1: ruleDivision
            {
             before(grammarAccess.getMultiplicationAccess().getDivisionParserRuleCall_0()); 
            pushFollow(FOLLOW_ruleDivision_in_rule__Multiplication__Group__0__Impl6319);
            ruleDivision();
            _fsp--;

             after(grammarAccess.getMultiplicationAccess().getDivisionParserRuleCall_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Multiplication__Group__0__Impl


    // $ANTLR start rule__Multiplication__Group__1
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3156:1: rule__Multiplication__Group__1 : rule__Multiplication__Group__1__Impl ;
    public final void rule__Multiplication__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3160:1: ( rule__Multiplication__Group__1__Impl )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3161:2: rule__Multiplication__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__Multiplication__Group__1__Impl_in_rule__Multiplication__Group__16348);
            rule__Multiplication__Group__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Multiplication__Group__1


    // $ANTLR start rule__Multiplication__Group__1__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3167:1: rule__Multiplication__Group__1__Impl : ( ( rule__Multiplication__Group_1__0 )? ) ;
    public final void rule__Multiplication__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3171:1: ( ( ( rule__Multiplication__Group_1__0 )? ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3172:1: ( ( rule__Multiplication__Group_1__0 )? )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3172:1: ( ( rule__Multiplication__Group_1__0 )? )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3173:1: ( rule__Multiplication__Group_1__0 )?
            {
             before(grammarAccess.getMultiplicationAccess().getGroup_1()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3174:1: ( rule__Multiplication__Group_1__0 )?
            int alt24=2;
            int LA24_0 = input.LA(1);

            if ( (LA24_0==32) ) {
                alt24=1;
            }
            switch (alt24) {
                case 1 :
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3174:2: rule__Multiplication__Group_1__0
                    {
                    pushFollow(FOLLOW_rule__Multiplication__Group_1__0_in_rule__Multiplication__Group__1__Impl6375);
                    rule__Multiplication__Group_1__0();
                    _fsp--;


                    }
                    break;

            }

             after(grammarAccess.getMultiplicationAccess().getGroup_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Multiplication__Group__1__Impl


    // $ANTLR start rule__Multiplication__Group_1__0
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3188:1: rule__Multiplication__Group_1__0 : rule__Multiplication__Group_1__0__Impl rule__Multiplication__Group_1__1 ;
    public final void rule__Multiplication__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3192:1: ( rule__Multiplication__Group_1__0__Impl rule__Multiplication__Group_1__1 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3193:2: rule__Multiplication__Group_1__0__Impl rule__Multiplication__Group_1__1
            {
            pushFollow(FOLLOW_rule__Multiplication__Group_1__0__Impl_in_rule__Multiplication__Group_1__06410);
            rule__Multiplication__Group_1__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Multiplication__Group_1__1_in_rule__Multiplication__Group_1__06413);
            rule__Multiplication__Group_1__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Multiplication__Group_1__0


    // $ANTLR start rule__Multiplication__Group_1__0__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3200:1: rule__Multiplication__Group_1__0__Impl : ( () ) ;
    public final void rule__Multiplication__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3204:1: ( ( () ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3205:1: ( () )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3205:1: ( () )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3206:1: ()
            {
             before(grammarAccess.getMultiplicationAccess().getMultiplicationOperandsAction_1_0()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3207:1: ()
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3209:1: 
            {
            }

             after(grammarAccess.getMultiplicationAccess().getMultiplicationOperandsAction_1_0()); 

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Multiplication__Group_1__0__Impl


    // $ANTLR start rule__Multiplication__Group_1__1
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3219:1: rule__Multiplication__Group_1__1 : rule__Multiplication__Group_1__1__Impl ;
    public final void rule__Multiplication__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3223:1: ( rule__Multiplication__Group_1__1__Impl )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3224:2: rule__Multiplication__Group_1__1__Impl
            {
            pushFollow(FOLLOW_rule__Multiplication__Group_1__1__Impl_in_rule__Multiplication__Group_1__16471);
            rule__Multiplication__Group_1__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Multiplication__Group_1__1


    // $ANTLR start rule__Multiplication__Group_1__1__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3230:1: rule__Multiplication__Group_1__1__Impl : ( ( ( rule__Multiplication__Group_1_1__0 ) ) ( ( rule__Multiplication__Group_1_1__0 )* ) ) ;
    public final void rule__Multiplication__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3234:1: ( ( ( ( rule__Multiplication__Group_1_1__0 ) ) ( ( rule__Multiplication__Group_1_1__0 )* ) ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3235:1: ( ( ( rule__Multiplication__Group_1_1__0 ) ) ( ( rule__Multiplication__Group_1_1__0 )* ) )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3235:1: ( ( ( rule__Multiplication__Group_1_1__0 ) ) ( ( rule__Multiplication__Group_1_1__0 )* ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3236:1: ( ( rule__Multiplication__Group_1_1__0 ) ) ( ( rule__Multiplication__Group_1_1__0 )* )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3236:1: ( ( rule__Multiplication__Group_1_1__0 ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3237:1: ( rule__Multiplication__Group_1_1__0 )
            {
             before(grammarAccess.getMultiplicationAccess().getGroup_1_1()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3238:1: ( rule__Multiplication__Group_1_1__0 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3238:2: rule__Multiplication__Group_1_1__0
            {
            pushFollow(FOLLOW_rule__Multiplication__Group_1_1__0_in_rule__Multiplication__Group_1__1__Impl6500);
            rule__Multiplication__Group_1_1__0();
            _fsp--;


            }

             after(grammarAccess.getMultiplicationAccess().getGroup_1_1()); 

            }

            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3241:1: ( ( rule__Multiplication__Group_1_1__0 )* )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3242:1: ( rule__Multiplication__Group_1_1__0 )*
            {
             before(grammarAccess.getMultiplicationAccess().getGroup_1_1()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3243:1: ( rule__Multiplication__Group_1_1__0 )*
            loop25:
            do {
                int alt25=2;
                int LA25_0 = input.LA(1);

                if ( (LA25_0==32) ) {
                    alt25=1;
                }


                switch (alt25) {
            	case 1 :
            	    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3243:2: rule__Multiplication__Group_1_1__0
            	    {
            	    pushFollow(FOLLOW_rule__Multiplication__Group_1_1__0_in_rule__Multiplication__Group_1__1__Impl6512);
            	    rule__Multiplication__Group_1_1__0();
            	    _fsp--;


            	    }
            	    break;

            	default :
            	    break loop25;
                }
            } while (true);

             after(grammarAccess.getMultiplicationAccess().getGroup_1_1()); 

            }


            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Multiplication__Group_1__1__Impl


    // $ANTLR start rule__Multiplication__Group_1_1__0
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3258:1: rule__Multiplication__Group_1_1__0 : rule__Multiplication__Group_1_1__0__Impl rule__Multiplication__Group_1_1__1 ;
    public final void rule__Multiplication__Group_1_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3262:1: ( rule__Multiplication__Group_1_1__0__Impl rule__Multiplication__Group_1_1__1 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3263:2: rule__Multiplication__Group_1_1__0__Impl rule__Multiplication__Group_1_1__1
            {
            pushFollow(FOLLOW_rule__Multiplication__Group_1_1__0__Impl_in_rule__Multiplication__Group_1_1__06549);
            rule__Multiplication__Group_1_1__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Multiplication__Group_1_1__1_in_rule__Multiplication__Group_1_1__06552);
            rule__Multiplication__Group_1_1__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Multiplication__Group_1_1__0


    // $ANTLR start rule__Multiplication__Group_1_1__0__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3270:1: rule__Multiplication__Group_1_1__0__Impl : ( '*' ) ;
    public final void rule__Multiplication__Group_1_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3274:1: ( ( '*' ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3275:1: ( '*' )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3275:1: ( '*' )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3276:1: '*'
            {
             before(grammarAccess.getMultiplicationAccess().getAsteriskKeyword_1_1_0()); 
            match(input,32,FOLLOW_32_in_rule__Multiplication__Group_1_1__0__Impl6580); 
             after(grammarAccess.getMultiplicationAccess().getAsteriskKeyword_1_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Multiplication__Group_1_1__0__Impl


    // $ANTLR start rule__Multiplication__Group_1_1__1
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3289:1: rule__Multiplication__Group_1_1__1 : rule__Multiplication__Group_1_1__1__Impl ;
    public final void rule__Multiplication__Group_1_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3293:1: ( rule__Multiplication__Group_1_1__1__Impl )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3294:2: rule__Multiplication__Group_1_1__1__Impl
            {
            pushFollow(FOLLOW_rule__Multiplication__Group_1_1__1__Impl_in_rule__Multiplication__Group_1_1__16611);
            rule__Multiplication__Group_1_1__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Multiplication__Group_1_1__1


    // $ANTLR start rule__Multiplication__Group_1_1__1__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3300:1: rule__Multiplication__Group_1_1__1__Impl : ( ( rule__Multiplication__OperandsAssignment_1_1_1 ) ) ;
    public final void rule__Multiplication__Group_1_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3304:1: ( ( ( rule__Multiplication__OperandsAssignment_1_1_1 ) ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3305:1: ( ( rule__Multiplication__OperandsAssignment_1_1_1 ) )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3305:1: ( ( rule__Multiplication__OperandsAssignment_1_1_1 ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3306:1: ( rule__Multiplication__OperandsAssignment_1_1_1 )
            {
             before(grammarAccess.getMultiplicationAccess().getOperandsAssignment_1_1_1()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3307:1: ( rule__Multiplication__OperandsAssignment_1_1_1 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3307:2: rule__Multiplication__OperandsAssignment_1_1_1
            {
            pushFollow(FOLLOW_rule__Multiplication__OperandsAssignment_1_1_1_in_rule__Multiplication__Group_1_1__1__Impl6638);
            rule__Multiplication__OperandsAssignment_1_1_1();
            _fsp--;


            }

             after(grammarAccess.getMultiplicationAccess().getOperandsAssignment_1_1_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Multiplication__Group_1_1__1__Impl


    // $ANTLR start rule__Division__Group__0
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3321:1: rule__Division__Group__0 : rule__Division__Group__0__Impl rule__Division__Group__1 ;
    public final void rule__Division__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3325:1: ( rule__Division__Group__0__Impl rule__Division__Group__1 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3326:2: rule__Division__Group__0__Impl rule__Division__Group__1
            {
            pushFollow(FOLLOW_rule__Division__Group__0__Impl_in_rule__Division__Group__06672);
            rule__Division__Group__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Division__Group__1_in_rule__Division__Group__06675);
            rule__Division__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Division__Group__0


    // $ANTLR start rule__Division__Group__0__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3333:1: rule__Division__Group__0__Impl : ( ruleExponentiation ) ;
    public final void rule__Division__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3337:1: ( ( ruleExponentiation ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3338:1: ( ruleExponentiation )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3338:1: ( ruleExponentiation )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3339:1: ruleExponentiation
            {
             before(grammarAccess.getDivisionAccess().getExponentiationParserRuleCall_0()); 
            pushFollow(FOLLOW_ruleExponentiation_in_rule__Division__Group__0__Impl6702);
            ruleExponentiation();
            _fsp--;

             after(grammarAccess.getDivisionAccess().getExponentiationParserRuleCall_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Division__Group__0__Impl


    // $ANTLR start rule__Division__Group__1
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3350:1: rule__Division__Group__1 : rule__Division__Group__1__Impl ;
    public final void rule__Division__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3354:1: ( rule__Division__Group__1__Impl )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3355:2: rule__Division__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__Division__Group__1__Impl_in_rule__Division__Group__16731);
            rule__Division__Group__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Division__Group__1


    // $ANTLR start rule__Division__Group__1__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3361:1: rule__Division__Group__1__Impl : ( ( rule__Division__Group_1__0 )? ) ;
    public final void rule__Division__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3365:1: ( ( ( rule__Division__Group_1__0 )? ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3366:1: ( ( rule__Division__Group_1__0 )? )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3366:1: ( ( rule__Division__Group_1__0 )? )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3367:1: ( rule__Division__Group_1__0 )?
            {
             before(grammarAccess.getDivisionAccess().getGroup_1()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3368:1: ( rule__Division__Group_1__0 )?
            int alt26=2;
            int LA26_0 = input.LA(1);

            if ( (LA26_0==33) ) {
                alt26=1;
            }
            switch (alt26) {
                case 1 :
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3368:2: rule__Division__Group_1__0
                    {
                    pushFollow(FOLLOW_rule__Division__Group_1__0_in_rule__Division__Group__1__Impl6758);
                    rule__Division__Group_1__0();
                    _fsp--;


                    }
                    break;

            }

             after(grammarAccess.getDivisionAccess().getGroup_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Division__Group__1__Impl


    // $ANTLR start rule__Division__Group_1__0
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3382:1: rule__Division__Group_1__0 : rule__Division__Group_1__0__Impl rule__Division__Group_1__1 ;
    public final void rule__Division__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3386:1: ( rule__Division__Group_1__0__Impl rule__Division__Group_1__1 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3387:2: rule__Division__Group_1__0__Impl rule__Division__Group_1__1
            {
            pushFollow(FOLLOW_rule__Division__Group_1__0__Impl_in_rule__Division__Group_1__06793);
            rule__Division__Group_1__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Division__Group_1__1_in_rule__Division__Group_1__06796);
            rule__Division__Group_1__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Division__Group_1__0


    // $ANTLR start rule__Division__Group_1__0__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3394:1: rule__Division__Group_1__0__Impl : ( () ) ;
    public final void rule__Division__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3398:1: ( ( () ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3399:1: ( () )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3399:1: ( () )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3400:1: ()
            {
             before(grammarAccess.getDivisionAccess().getDivisionLeftAction_1_0()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3401:1: ()
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3403:1: 
            {
            }

             after(grammarAccess.getDivisionAccess().getDivisionLeftAction_1_0()); 

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Division__Group_1__0__Impl


    // $ANTLR start rule__Division__Group_1__1
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3413:1: rule__Division__Group_1__1 : rule__Division__Group_1__1__Impl rule__Division__Group_1__2 ;
    public final void rule__Division__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3417:1: ( rule__Division__Group_1__1__Impl rule__Division__Group_1__2 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3418:2: rule__Division__Group_1__1__Impl rule__Division__Group_1__2
            {
            pushFollow(FOLLOW_rule__Division__Group_1__1__Impl_in_rule__Division__Group_1__16854);
            rule__Division__Group_1__1__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Division__Group_1__2_in_rule__Division__Group_1__16857);
            rule__Division__Group_1__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Division__Group_1__1


    // $ANTLR start rule__Division__Group_1__1__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3425:1: rule__Division__Group_1__1__Impl : ( '/' ) ;
    public final void rule__Division__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3429:1: ( ( '/' ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3430:1: ( '/' )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3430:1: ( '/' )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3431:1: '/'
            {
             before(grammarAccess.getDivisionAccess().getSolidusKeyword_1_1()); 
            match(input,33,FOLLOW_33_in_rule__Division__Group_1__1__Impl6885); 
             after(grammarAccess.getDivisionAccess().getSolidusKeyword_1_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Division__Group_1__1__Impl


    // $ANTLR start rule__Division__Group_1__2
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3444:1: rule__Division__Group_1__2 : rule__Division__Group_1__2__Impl ;
    public final void rule__Division__Group_1__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3448:1: ( rule__Division__Group_1__2__Impl )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3449:2: rule__Division__Group_1__2__Impl
            {
            pushFollow(FOLLOW_rule__Division__Group_1__2__Impl_in_rule__Division__Group_1__26916);
            rule__Division__Group_1__2__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Division__Group_1__2


    // $ANTLR start rule__Division__Group_1__2__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3455:1: rule__Division__Group_1__2__Impl : ( ( rule__Division__RightAssignment_1_2 ) ) ;
    public final void rule__Division__Group_1__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3459:1: ( ( ( rule__Division__RightAssignment_1_2 ) ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3460:1: ( ( rule__Division__RightAssignment_1_2 ) )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3460:1: ( ( rule__Division__RightAssignment_1_2 ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3461:1: ( rule__Division__RightAssignment_1_2 )
            {
             before(grammarAccess.getDivisionAccess().getRightAssignment_1_2()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3462:1: ( rule__Division__RightAssignment_1_2 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3462:2: rule__Division__RightAssignment_1_2
            {
            pushFollow(FOLLOW_rule__Division__RightAssignment_1_2_in_rule__Division__Group_1__2__Impl6943);
            rule__Division__RightAssignment_1_2();
            _fsp--;


            }

             after(grammarAccess.getDivisionAccess().getRightAssignment_1_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Division__Group_1__2__Impl


    // $ANTLR start rule__Exponentiation__Group__0
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3478:1: rule__Exponentiation__Group__0 : rule__Exponentiation__Group__0__Impl rule__Exponentiation__Group__1 ;
    public final void rule__Exponentiation__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3482:1: ( rule__Exponentiation__Group__0__Impl rule__Exponentiation__Group__1 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3483:2: rule__Exponentiation__Group__0__Impl rule__Exponentiation__Group__1
            {
            pushFollow(FOLLOW_rule__Exponentiation__Group__0__Impl_in_rule__Exponentiation__Group__06979);
            rule__Exponentiation__Group__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Exponentiation__Group__1_in_rule__Exponentiation__Group__06982);
            rule__Exponentiation__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Exponentiation__Group__0


    // $ANTLR start rule__Exponentiation__Group__0__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3490:1: rule__Exponentiation__Group__0__Impl : ( rulePrimaryExpression ) ;
    public final void rule__Exponentiation__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3494:1: ( ( rulePrimaryExpression ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3495:1: ( rulePrimaryExpression )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3495:1: ( rulePrimaryExpression )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3496:1: rulePrimaryExpression
            {
             before(grammarAccess.getExponentiationAccess().getPrimaryExpressionParserRuleCall_0()); 
            pushFollow(FOLLOW_rulePrimaryExpression_in_rule__Exponentiation__Group__0__Impl7009);
            rulePrimaryExpression();
            _fsp--;

             after(grammarAccess.getExponentiationAccess().getPrimaryExpressionParserRuleCall_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Exponentiation__Group__0__Impl


    // $ANTLR start rule__Exponentiation__Group__1
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3507:1: rule__Exponentiation__Group__1 : rule__Exponentiation__Group__1__Impl ;
    public final void rule__Exponentiation__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3511:1: ( rule__Exponentiation__Group__1__Impl )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3512:2: rule__Exponentiation__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__Exponentiation__Group__1__Impl_in_rule__Exponentiation__Group__17038);
            rule__Exponentiation__Group__1__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Exponentiation__Group__1


    // $ANTLR start rule__Exponentiation__Group__1__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3518:1: rule__Exponentiation__Group__1__Impl : ( ( rule__Exponentiation__Group_1__0 )? ) ;
    public final void rule__Exponentiation__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3522:1: ( ( ( rule__Exponentiation__Group_1__0 )? ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3523:1: ( ( rule__Exponentiation__Group_1__0 )? )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3523:1: ( ( rule__Exponentiation__Group_1__0 )? )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3524:1: ( rule__Exponentiation__Group_1__0 )?
            {
             before(grammarAccess.getExponentiationAccess().getGroup_1()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3525:1: ( rule__Exponentiation__Group_1__0 )?
            int alt27=2;
            int LA27_0 = input.LA(1);

            if ( (LA27_0==34) ) {
                alt27=1;
            }
            switch (alt27) {
                case 1 :
                    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3525:2: rule__Exponentiation__Group_1__0
                    {
                    pushFollow(FOLLOW_rule__Exponentiation__Group_1__0_in_rule__Exponentiation__Group__1__Impl7065);
                    rule__Exponentiation__Group_1__0();
                    _fsp--;


                    }
                    break;

            }

             after(grammarAccess.getExponentiationAccess().getGroup_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Exponentiation__Group__1__Impl


    // $ANTLR start rule__Exponentiation__Group_1__0
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3539:1: rule__Exponentiation__Group_1__0 : rule__Exponentiation__Group_1__0__Impl rule__Exponentiation__Group_1__1 ;
    public final void rule__Exponentiation__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3543:1: ( rule__Exponentiation__Group_1__0__Impl rule__Exponentiation__Group_1__1 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3544:2: rule__Exponentiation__Group_1__0__Impl rule__Exponentiation__Group_1__1
            {
            pushFollow(FOLLOW_rule__Exponentiation__Group_1__0__Impl_in_rule__Exponentiation__Group_1__07100);
            rule__Exponentiation__Group_1__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Exponentiation__Group_1__1_in_rule__Exponentiation__Group_1__07103);
            rule__Exponentiation__Group_1__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Exponentiation__Group_1__0


    // $ANTLR start rule__Exponentiation__Group_1__0__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3551:1: rule__Exponentiation__Group_1__0__Impl : ( () ) ;
    public final void rule__Exponentiation__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3555:1: ( ( () ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3556:1: ( () )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3556:1: ( () )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3557:1: ()
            {
             before(grammarAccess.getExponentiationAccess().getExponentiationLeftAction_1_0()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3558:1: ()
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3560:1: 
            {
            }

             after(grammarAccess.getExponentiationAccess().getExponentiationLeftAction_1_0()); 

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Exponentiation__Group_1__0__Impl


    // $ANTLR start rule__Exponentiation__Group_1__1
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3570:1: rule__Exponentiation__Group_1__1 : rule__Exponentiation__Group_1__1__Impl rule__Exponentiation__Group_1__2 ;
    public final void rule__Exponentiation__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3574:1: ( rule__Exponentiation__Group_1__1__Impl rule__Exponentiation__Group_1__2 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3575:2: rule__Exponentiation__Group_1__1__Impl rule__Exponentiation__Group_1__2
            {
            pushFollow(FOLLOW_rule__Exponentiation__Group_1__1__Impl_in_rule__Exponentiation__Group_1__17161);
            rule__Exponentiation__Group_1__1__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Exponentiation__Group_1__2_in_rule__Exponentiation__Group_1__17164);
            rule__Exponentiation__Group_1__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Exponentiation__Group_1__1


    // $ANTLR start rule__Exponentiation__Group_1__1__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3582:1: rule__Exponentiation__Group_1__1__Impl : ( '^' ) ;
    public final void rule__Exponentiation__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3586:1: ( ( '^' ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3587:1: ( '^' )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3587:1: ( '^' )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3588:1: '^'
            {
             before(grammarAccess.getExponentiationAccess().getCircumflexAccentKeyword_1_1()); 
            match(input,34,FOLLOW_34_in_rule__Exponentiation__Group_1__1__Impl7192); 
             after(grammarAccess.getExponentiationAccess().getCircumflexAccentKeyword_1_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Exponentiation__Group_1__1__Impl


    // $ANTLR start rule__Exponentiation__Group_1__2
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3601:1: rule__Exponentiation__Group_1__2 : rule__Exponentiation__Group_1__2__Impl ;
    public final void rule__Exponentiation__Group_1__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3605:1: ( rule__Exponentiation__Group_1__2__Impl )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3606:2: rule__Exponentiation__Group_1__2__Impl
            {
            pushFollow(FOLLOW_rule__Exponentiation__Group_1__2__Impl_in_rule__Exponentiation__Group_1__27223);
            rule__Exponentiation__Group_1__2__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Exponentiation__Group_1__2


    // $ANTLR start rule__Exponentiation__Group_1__2__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3612:1: rule__Exponentiation__Group_1__2__Impl : ( ( rule__Exponentiation__RightAssignment_1_2 ) ) ;
    public final void rule__Exponentiation__Group_1__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3616:1: ( ( ( rule__Exponentiation__RightAssignment_1_2 ) ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3617:1: ( ( rule__Exponentiation__RightAssignment_1_2 ) )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3617:1: ( ( rule__Exponentiation__RightAssignment_1_2 ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3618:1: ( rule__Exponentiation__RightAssignment_1_2 )
            {
             before(grammarAccess.getExponentiationAccess().getRightAssignment_1_2()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3619:1: ( rule__Exponentiation__RightAssignment_1_2 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3619:2: rule__Exponentiation__RightAssignment_1_2
            {
            pushFollow(FOLLOW_rule__Exponentiation__RightAssignment_1_2_in_rule__Exponentiation__Group_1__2__Impl7250);
            rule__Exponentiation__RightAssignment_1_2();
            _fsp--;


            }

             after(grammarAccess.getExponentiationAccess().getRightAssignment_1_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Exponentiation__Group_1__2__Impl


    // $ANTLR start rule__Negation__Group__0
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3635:1: rule__Negation__Group__0 : rule__Negation__Group__0__Impl rule__Negation__Group__1 ;
    public final void rule__Negation__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3639:1: ( rule__Negation__Group__0__Impl rule__Negation__Group__1 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3640:2: rule__Negation__Group__0__Impl rule__Negation__Group__1
            {
            pushFollow(FOLLOW_rule__Negation__Group__0__Impl_in_rule__Negation__Group__07286);
            rule__Negation__Group__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Negation__Group__1_in_rule__Negation__Group__07289);
            rule__Negation__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Negation__Group__0


    // $ANTLR start rule__Negation__Group__0__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3647:1: rule__Negation__Group__0__Impl : ( '-' ) ;
    public final void rule__Negation__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3651:1: ( ( '-' ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3652:1: ( '-' )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3652:1: ( '-' )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3653:1: '-'
            {
             before(grammarAccess.getNegationAccess().getHyphenMinusKeyword_0()); 
            match(input,35,FOLLOW_35_in_rule__Negation__Group__0__Impl7317); 
             after(grammarAccess.getNegationAccess().getHyphenMinusKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Negation__Group__0__Impl


    // $ANTLR start rule__Negation__Group__1
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3666:1: rule__Negation__Group__1 : rule__Negation__Group__1__Impl rule__Negation__Group__2 ;
    public final void rule__Negation__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3670:1: ( rule__Negation__Group__1__Impl rule__Negation__Group__2 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3671:2: rule__Negation__Group__1__Impl rule__Negation__Group__2
            {
            pushFollow(FOLLOW_rule__Negation__Group__1__Impl_in_rule__Negation__Group__17348);
            rule__Negation__Group__1__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__Negation__Group__2_in_rule__Negation__Group__17351);
            rule__Negation__Group__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Negation__Group__1


    // $ANTLR start rule__Negation__Group__1__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3678:1: rule__Negation__Group__1__Impl : ( rulePrimaryExpression ) ;
    public final void rule__Negation__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3682:1: ( ( rulePrimaryExpression ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3683:1: ( rulePrimaryExpression )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3683:1: ( rulePrimaryExpression )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3684:1: rulePrimaryExpression
            {
             before(grammarAccess.getNegationAccess().getPrimaryExpressionParserRuleCall_1()); 
            pushFollow(FOLLOW_rulePrimaryExpression_in_rule__Negation__Group__1__Impl7378);
            rulePrimaryExpression();
            _fsp--;

             after(grammarAccess.getNegationAccess().getPrimaryExpressionParserRuleCall_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Negation__Group__1__Impl


    // $ANTLR start rule__Negation__Group__2
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3695:1: rule__Negation__Group__2 : rule__Negation__Group__2__Impl ;
    public final void rule__Negation__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3699:1: ( rule__Negation__Group__2__Impl )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3700:2: rule__Negation__Group__2__Impl
            {
            pushFollow(FOLLOW_rule__Negation__Group__2__Impl_in_rule__Negation__Group__27407);
            rule__Negation__Group__2__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Negation__Group__2


    // $ANTLR start rule__Negation__Group__2__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3706:1: rule__Negation__Group__2__Impl : ( () ) ;
    public final void rule__Negation__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3710:1: ( ( () ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3711:1: ( () )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3711:1: ( () )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3712:1: ()
            {
             before(grammarAccess.getNegationAccess().getNegationOperandAction_2()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3713:1: ()
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3715:1: 
            {
            }

             after(grammarAccess.getNegationAccess().getNegationOperandAction_2()); 

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Negation__Group__2__Impl


    // $ANTLR start rule__PrimaryExpression__Group_3__0
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3731:1: rule__PrimaryExpression__Group_3__0 : rule__PrimaryExpression__Group_3__0__Impl rule__PrimaryExpression__Group_3__1 ;
    public final void rule__PrimaryExpression__Group_3__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3735:1: ( rule__PrimaryExpression__Group_3__0__Impl rule__PrimaryExpression__Group_3__1 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3736:2: rule__PrimaryExpression__Group_3__0__Impl rule__PrimaryExpression__Group_3__1
            {
            pushFollow(FOLLOW_rule__PrimaryExpression__Group_3__0__Impl_in_rule__PrimaryExpression__Group_3__07471);
            rule__PrimaryExpression__Group_3__0__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__PrimaryExpression__Group_3__1_in_rule__PrimaryExpression__Group_3__07474);
            rule__PrimaryExpression__Group_3__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PrimaryExpression__Group_3__0


    // $ANTLR start rule__PrimaryExpression__Group_3__0__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3743:1: rule__PrimaryExpression__Group_3__0__Impl : ( '(' ) ;
    public final void rule__PrimaryExpression__Group_3__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3747:1: ( ( '(' ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3748:1: ( '(' )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3748:1: ( '(' )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3749:1: '('
            {
             before(grammarAccess.getPrimaryExpressionAccess().getLeftParenthesisKeyword_3_0()); 
            match(input,19,FOLLOW_19_in_rule__PrimaryExpression__Group_3__0__Impl7502); 
             after(grammarAccess.getPrimaryExpressionAccess().getLeftParenthesisKeyword_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PrimaryExpression__Group_3__0__Impl


    // $ANTLR start rule__PrimaryExpression__Group_3__1
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3762:1: rule__PrimaryExpression__Group_3__1 : rule__PrimaryExpression__Group_3__1__Impl rule__PrimaryExpression__Group_3__2 ;
    public final void rule__PrimaryExpression__Group_3__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3766:1: ( rule__PrimaryExpression__Group_3__1__Impl rule__PrimaryExpression__Group_3__2 )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3767:2: rule__PrimaryExpression__Group_3__1__Impl rule__PrimaryExpression__Group_3__2
            {
            pushFollow(FOLLOW_rule__PrimaryExpression__Group_3__1__Impl_in_rule__PrimaryExpression__Group_3__17533);
            rule__PrimaryExpression__Group_3__1__Impl();
            _fsp--;

            pushFollow(FOLLOW_rule__PrimaryExpression__Group_3__2_in_rule__PrimaryExpression__Group_3__17536);
            rule__PrimaryExpression__Group_3__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PrimaryExpression__Group_3__1


    // $ANTLR start rule__PrimaryExpression__Group_3__1__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3774:1: rule__PrimaryExpression__Group_3__1__Impl : ( ruleAddition ) ;
    public final void rule__PrimaryExpression__Group_3__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3778:1: ( ( ruleAddition ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3779:1: ( ruleAddition )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3779:1: ( ruleAddition )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3780:1: ruleAddition
            {
             before(grammarAccess.getPrimaryExpressionAccess().getAdditionParserRuleCall_3_1()); 
            pushFollow(FOLLOW_ruleAddition_in_rule__PrimaryExpression__Group_3__1__Impl7563);
            ruleAddition();
            _fsp--;

             after(grammarAccess.getPrimaryExpressionAccess().getAdditionParserRuleCall_3_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PrimaryExpression__Group_3__1__Impl


    // $ANTLR start rule__PrimaryExpression__Group_3__2
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3791:1: rule__PrimaryExpression__Group_3__2 : rule__PrimaryExpression__Group_3__2__Impl ;
    public final void rule__PrimaryExpression__Group_3__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3795:1: ( rule__PrimaryExpression__Group_3__2__Impl )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3796:2: rule__PrimaryExpression__Group_3__2__Impl
            {
            pushFollow(FOLLOW_rule__PrimaryExpression__Group_3__2__Impl_in_rule__PrimaryExpression__Group_3__27592);
            rule__PrimaryExpression__Group_3__2__Impl();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PrimaryExpression__Group_3__2


    // $ANTLR start rule__PrimaryExpression__Group_3__2__Impl
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3802:1: rule__PrimaryExpression__Group_3__2__Impl : ( ')' ) ;
    public final void rule__PrimaryExpression__Group_3__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3806:1: ( ( ')' ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3807:1: ( ')' )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3807:1: ( ')' )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3808:1: ')'
            {
             before(grammarAccess.getPrimaryExpressionAccess().getRightParenthesisKeyword_3_2()); 
            match(input,20,FOLLOW_20_in_rule__PrimaryExpression__Group_3__2__Impl7620); 
             after(grammarAccess.getPrimaryExpressionAccess().getRightParenthesisKeyword_3_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__PrimaryExpression__Group_3__2__Impl


    // $ANTLR start rule__Module__DefinitionsAssignment
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3828:1: rule__Module__DefinitionsAssignment : ( ruleDefinition ) ;
    public final void rule__Module__DefinitionsAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3832:1: ( ( ruleDefinition ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3833:1: ( ruleDefinition )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3833:1: ( ruleDefinition )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3834:1: ruleDefinition
            {
             before(grammarAccess.getModuleAccess().getDefinitionsDefinitionParserRuleCall_0()); 
            pushFollow(FOLLOW_ruleDefinition_in_rule__Module__DefinitionsAssignment7662);
            ruleDefinition();
            _fsp--;

             after(grammarAccess.getModuleAccess().getDefinitionsDefinitionParserRuleCall_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Module__DefinitionsAssignment


    // $ANTLR start rule__Definition__NameAssignment_0_0_2
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3843:1: rule__Definition__NameAssignment_0_0_2 : ( RULE_ID ) ;
    public final void rule__Definition__NameAssignment_0_0_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3847:1: ( ( RULE_ID ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3848:1: ( RULE_ID )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3848:1: ( RULE_ID )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3849:1: RULE_ID
            {
             before(grammarAccess.getDefinitionAccess().getNameIDTerminalRuleCall_0_0_2_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Definition__NameAssignment_0_0_27693); 
             after(grammarAccess.getDefinitionAccess().getNameIDTerminalRuleCall_0_0_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__NameAssignment_0_0_2


    // $ANTLR start rule__Definition__ParametersAssignment_0_0_4_0
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3858:1: rule__Definition__ParametersAssignment_0_0_4_0 : ( ruleParameter ) ;
    public final void rule__Definition__ParametersAssignment_0_0_4_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3862:1: ( ( ruleParameter ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3863:1: ( ruleParameter )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3863:1: ( ruleParameter )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3864:1: ruleParameter
            {
             before(grammarAccess.getDefinitionAccess().getParametersParameterParserRuleCall_0_0_4_0_0()); 
            pushFollow(FOLLOW_ruleParameter_in_rule__Definition__ParametersAssignment_0_0_4_07724);
            ruleParameter();
            _fsp--;

             after(grammarAccess.getDefinitionAccess().getParametersParameterParserRuleCall_0_0_4_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__ParametersAssignment_0_0_4_0


    // $ANTLR start rule__Definition__ParametersAssignment_0_0_4_1_1
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3873:1: rule__Definition__ParametersAssignment_0_0_4_1_1 : ( ruleParameter ) ;
    public final void rule__Definition__ParametersAssignment_0_0_4_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3877:1: ( ( ruleParameter ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3878:1: ( ruleParameter )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3878:1: ( ruleParameter )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3879:1: ruleParameter
            {
             before(grammarAccess.getDefinitionAccess().getParametersParameterParserRuleCall_0_0_4_1_1_0()); 
            pushFollow(FOLLOW_ruleParameter_in_rule__Definition__ParametersAssignment_0_0_4_1_17755);
            ruleParameter();
            _fsp--;

             after(grammarAccess.getDefinitionAccess().getParametersParameterParserRuleCall_0_0_4_1_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__ParametersAssignment_0_0_4_1_1


    // $ANTLR start rule__Definition__BodyAssignment_0_0_6
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3888:1: rule__Definition__BodyAssignment_0_0_6 : ( ruleAlternation ) ;
    public final void rule__Definition__BodyAssignment_0_0_6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3892:1: ( ( ruleAlternation ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3893:1: ( ruleAlternation )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3893:1: ( ruleAlternation )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3894:1: ruleAlternation
            {
             before(grammarAccess.getDefinitionAccess().getBodyAlternationParserRuleCall_0_0_6_0()); 
            pushFollow(FOLLOW_ruleAlternation_in_rule__Definition__BodyAssignment_0_0_67786);
            ruleAlternation();
            _fsp--;

             after(grammarAccess.getDefinitionAccess().getBodyAlternationParserRuleCall_0_0_6_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__BodyAssignment_0_0_6


    // $ANTLR start rule__Definition__NameAssignment_0_1_2
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3903:1: rule__Definition__NameAssignment_0_1_2 : ( RULE_ID ) ;
    public final void rule__Definition__NameAssignment_0_1_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3907:1: ( ( RULE_ID ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3908:1: ( RULE_ID )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3908:1: ( RULE_ID )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3909:1: RULE_ID
            {
             before(grammarAccess.getDefinitionAccess().getNameIDTerminalRuleCall_0_1_2_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Definition__NameAssignment_0_1_27817); 
             after(grammarAccess.getDefinitionAccess().getNameIDTerminalRuleCall_0_1_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__NameAssignment_0_1_2


    // $ANTLR start rule__Definition__ParametersAssignment_0_1_4_0
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3918:1: rule__Definition__ParametersAssignment_0_1_4_0 : ( ruleParameter ) ;
    public final void rule__Definition__ParametersAssignment_0_1_4_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3922:1: ( ( ruleParameter ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3923:1: ( ruleParameter )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3923:1: ( ruleParameter )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3924:1: ruleParameter
            {
             before(grammarAccess.getDefinitionAccess().getParametersParameterParserRuleCall_0_1_4_0_0()); 
            pushFollow(FOLLOW_ruleParameter_in_rule__Definition__ParametersAssignment_0_1_4_07848);
            ruleParameter();
            _fsp--;

             after(grammarAccess.getDefinitionAccess().getParametersParameterParserRuleCall_0_1_4_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__ParametersAssignment_0_1_4_0


    // $ANTLR start rule__Definition__ParametersAssignment_0_1_4_1_1
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3933:1: rule__Definition__ParametersAssignment_0_1_4_1_1 : ( ruleParameter ) ;
    public final void rule__Definition__ParametersAssignment_0_1_4_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3937:1: ( ( ruleParameter ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3938:1: ( ruleParameter )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3938:1: ( ruleParameter )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3939:1: ruleParameter
            {
             before(grammarAccess.getDefinitionAccess().getParametersParameterParserRuleCall_0_1_4_1_1_0()); 
            pushFollow(FOLLOW_ruleParameter_in_rule__Definition__ParametersAssignment_0_1_4_1_17879);
            ruleParameter();
            _fsp--;

             after(grammarAccess.getDefinitionAccess().getParametersParameterParserRuleCall_0_1_4_1_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__ParametersAssignment_0_1_4_1_1


    // $ANTLR start rule__Definition__PremiseAssignment_0_1_6
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3948:1: rule__Definition__PremiseAssignment_0_1_6 : ( ruleAlternation ) ;
    public final void rule__Definition__PremiseAssignment_0_1_6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3952:1: ( ( ruleAlternation ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3953:1: ( ruleAlternation )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3953:1: ( ruleAlternation )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3954:1: ruleAlternation
            {
             before(grammarAccess.getDefinitionAccess().getPremiseAlternationParserRuleCall_0_1_6_0()); 
            pushFollow(FOLLOW_ruleAlternation_in_rule__Definition__PremiseAssignment_0_1_67910);
            ruleAlternation();
            _fsp--;

             after(grammarAccess.getDefinitionAccess().getPremiseAlternationParserRuleCall_0_1_6_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__PremiseAssignment_0_1_6


    // $ANTLR start rule__Definition__ConclusionAssignment_0_1_8
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3963:1: rule__Definition__ConclusionAssignment_0_1_8 : ( ruleAlternation ) ;
    public final void rule__Definition__ConclusionAssignment_0_1_8() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3967:1: ( ( ruleAlternation ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3968:1: ( ruleAlternation )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3968:1: ( ruleAlternation )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3969:1: ruleAlternation
            {
             before(grammarAccess.getDefinitionAccess().getConclusionAlternationParserRuleCall_0_1_8_0()); 
            pushFollow(FOLLOW_ruleAlternation_in_rule__Definition__ConclusionAssignment_0_1_87941);
            ruleAlternation();
            _fsp--;

             after(grammarAccess.getDefinitionAccess().getConclusionAlternationParserRuleCall_0_1_8_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__ConclusionAssignment_0_1_8


    // $ANTLR start rule__Definition__ProofAssignment_0_1_9
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3978:1: rule__Definition__ProofAssignment_0_1_9 : ( ruleProof ) ;
    public final void rule__Definition__ProofAssignment_0_1_9() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3982:1: ( ( ruleProof ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3983:1: ( ruleProof )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3983:1: ( ruleProof )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3984:1: ruleProof
            {
             before(grammarAccess.getDefinitionAccess().getProofProofParserRuleCall_0_1_9_0()); 
            pushFollow(FOLLOW_ruleProof_in_rule__Definition__ProofAssignment_0_1_97972);
            ruleProof();
            _fsp--;

             after(grammarAccess.getDefinitionAccess().getProofProofParserRuleCall_0_1_9_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Definition__ProofAssignment_0_1_9


    // $ANTLR start rule__Alternation__ClausesAssignment_0
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3993:1: rule__Alternation__ClausesAssignment_0 : ( ruleClause ) ;
    public final void rule__Alternation__ClausesAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3997:1: ( ( ruleClause ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3998:1: ( ruleClause )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3998:1: ( ruleClause )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:3999:1: ruleClause
            {
             before(grammarAccess.getAlternationAccess().getClausesClauseParserRuleCall_0_0()); 
            pushFollow(FOLLOW_ruleClause_in_rule__Alternation__ClausesAssignment_08003);
            ruleClause();
            _fsp--;

             after(grammarAccess.getAlternationAccess().getClausesClauseParserRuleCall_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Alternation__ClausesAssignment_0


    // $ANTLR start rule__Alternation__ClausesAssignment_1_1
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4008:1: rule__Alternation__ClausesAssignment_1_1 : ( ruleClause ) ;
    public final void rule__Alternation__ClausesAssignment_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4012:1: ( ( ruleClause ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4013:1: ( ruleClause )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4013:1: ( ruleClause )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4014:1: ruleClause
            {
             before(grammarAccess.getAlternationAccess().getClausesClauseParserRuleCall_1_1_0()); 
            pushFollow(FOLLOW_ruleClause_in_rule__Alternation__ClausesAssignment_1_18034);
            ruleClause();
            _fsp--;

             after(grammarAccess.getAlternationAccess().getClausesClauseParserRuleCall_1_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Alternation__ClausesAssignment_1_1


    // $ANTLR start rule__Parameter__NameAssignment
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4023:1: rule__Parameter__NameAssignment : ( RULE_ID ) ;
    public final void rule__Parameter__NameAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4027:1: ( ( RULE_ID ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4028:1: ( RULE_ID )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4028:1: ( RULE_ID )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4029:1: RULE_ID
            {
             before(grammarAccess.getParameterAccess().getNameIDTerminalRuleCall_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Parameter__NameAssignment8065); 
             after(grammarAccess.getParameterAccess().getNameIDTerminalRuleCall_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Parameter__NameAssignment


    // $ANTLR start rule__Proof__StepsAssignment_2
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4038:1: rule__Proof__StepsAssignment_2 : ( ruleStep ) ;
    public final void rule__Proof__StepsAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4042:1: ( ( ruleStep ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4043:1: ( ruleStep )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4043:1: ( ruleStep )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4044:1: ruleStep
            {
             before(grammarAccess.getProofAccess().getStepsStepParserRuleCall_2_0()); 
            pushFollow(FOLLOW_ruleStep_in_rule__Proof__StepsAssignment_28096);
            ruleStep();
            _fsp--;

             after(grammarAccess.getProofAccess().getStepsStepParserRuleCall_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Proof__StepsAssignment_2


    // $ANTLR start rule__Step__RuleAssignment_0
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4053:1: rule__Step__RuleAssignment_0 : ( ruleRule ) ;
    public final void rule__Step__RuleAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4057:1: ( ( ruleRule ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4058:1: ( ruleRule )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4058:1: ( ruleRule )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4059:1: ruleRule
            {
             before(grammarAccess.getStepAccess().getRuleRuleParserRuleCall_0_0()); 
            pushFollow(FOLLOW_ruleRule_in_rule__Step__RuleAssignment_08127);
            ruleRule();
            _fsp--;

             after(grammarAccess.getStepAccess().getRuleRuleParserRuleCall_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Step__RuleAssignment_0


    // $ANTLR start rule__Step__TargetAssignment_1_0
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4068:1: rule__Step__TargetAssignment_1_0 : ( RULE_STRING ) ;
    public final void rule__Step__TargetAssignment_1_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4072:1: ( ( RULE_STRING ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4073:1: ( RULE_STRING )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4073:1: ( RULE_STRING )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4074:1: RULE_STRING
            {
             before(grammarAccess.getStepAccess().getTargetSTRINGTerminalRuleCall_1_0_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Step__TargetAssignment_1_08158); 
             after(grammarAccess.getStepAccess().getTargetSTRINGTerminalRuleCall_1_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Step__TargetAssignment_1_0


    // $ANTLR start rule__Step__MatchAssignment_1_1_1
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4083:1: rule__Step__MatchAssignment_1_1_1 : ( RULE_BIG_INT ) ;
    public final void rule__Step__MatchAssignment_1_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4087:1: ( ( RULE_BIG_INT ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4088:1: ( RULE_BIG_INT )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4088:1: ( RULE_BIG_INT )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4089:1: RULE_BIG_INT
            {
             before(grammarAccess.getStepAccess().getMatchBIG_INTTerminalRuleCall_1_1_1_0()); 
            match(input,RULE_BIG_INT,FOLLOW_RULE_BIG_INT_in_rule__Step__MatchAssignment_1_1_18189); 
             after(grammarAccess.getStepAccess().getMatchBIG_INTTerminalRuleCall_1_1_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Step__MatchAssignment_1_1_1


    // $ANTLR start rule__Clause__ExistentialsAssignment_0_1
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4098:1: rule__Clause__ExistentialsAssignment_0_1 : ( ruleExistential ) ;
    public final void rule__Clause__ExistentialsAssignment_0_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4102:1: ( ( ruleExistential ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4103:1: ( ruleExistential )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4103:1: ( ruleExistential )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4104:1: ruleExistential
            {
             before(grammarAccess.getClauseAccess().getExistentialsExistentialParserRuleCall_0_1_0()); 
            pushFollow(FOLLOW_ruleExistential_in_rule__Clause__ExistentialsAssignment_0_18220);
            ruleExistential();
            _fsp--;

             after(grammarAccess.getClauseAccess().getExistentialsExistentialParserRuleCall_0_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Clause__ExistentialsAssignment_0_1


    // $ANTLR start rule__Clause__ExistentialsAssignment_0_2_1
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4113:1: rule__Clause__ExistentialsAssignment_0_2_1 : ( ruleExistential ) ;
    public final void rule__Clause__ExistentialsAssignment_0_2_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4117:1: ( ( ruleExistential ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4118:1: ( ruleExistential )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4118:1: ( ruleExistential )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4119:1: ruleExistential
            {
             before(grammarAccess.getClauseAccess().getExistentialsExistentialParserRuleCall_0_2_1_0()); 
            pushFollow(FOLLOW_ruleExistential_in_rule__Clause__ExistentialsAssignment_0_2_18251);
            ruleExistential();
            _fsp--;

             after(grammarAccess.getClauseAccess().getExistentialsExistentialParserRuleCall_0_2_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Clause__ExistentialsAssignment_0_2_1


    // $ANTLR start rule__Clause__ConstraintsAssignment_1
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4128:1: rule__Clause__ConstraintsAssignment_1 : ( ruleConstraint ) ;
    public final void rule__Clause__ConstraintsAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4132:1: ( ( ruleConstraint ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4133:1: ( ruleConstraint )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4133:1: ( ruleConstraint )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4134:1: ruleConstraint
            {
             before(grammarAccess.getClauseAccess().getConstraintsConstraintParserRuleCall_1_0()); 
            pushFollow(FOLLOW_ruleConstraint_in_rule__Clause__ConstraintsAssignment_18282);
            ruleConstraint();
            _fsp--;

             after(grammarAccess.getClauseAccess().getConstraintsConstraintParserRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Clause__ConstraintsAssignment_1


    // $ANTLR start rule__Clause__ConstraintsAssignment_2_1
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4143:1: rule__Clause__ConstraintsAssignment_2_1 : ( ruleConstraint ) ;
    public final void rule__Clause__ConstraintsAssignment_2_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4147:1: ( ( ruleConstraint ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4148:1: ( ruleConstraint )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4148:1: ( ruleConstraint )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4149:1: ruleConstraint
            {
             before(grammarAccess.getClauseAccess().getConstraintsConstraintParserRuleCall_2_1_0()); 
            pushFollow(FOLLOW_ruleConstraint_in_rule__Clause__ConstraintsAssignment_2_18313);
            ruleConstraint();
            _fsp--;

             after(grammarAccess.getClauseAccess().getConstraintsConstraintParserRuleCall_2_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Clause__ConstraintsAssignment_2_1


    // $ANTLR start rule__Existential__NameAssignment
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4158:1: rule__Existential__NameAssignment : ( RULE_ID ) ;
    public final void rule__Existential__NameAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4162:1: ( ( RULE_ID ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4163:1: ( RULE_ID )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4163:1: ( RULE_ID )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4164:1: RULE_ID
            {
             before(grammarAccess.getExistentialAccess().getNameIDTerminalRuleCall_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Existential__NameAssignment8344); 
             after(grammarAccess.getExistentialAccess().getNameIDTerminalRuleCall_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Existential__NameAssignment


    // $ANTLR start rule__Constraint__InferredAssignment_0_2
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4173:1: rule__Constraint__InferredAssignment_0_2 : ( ( ']' ) ) ;
    public final void rule__Constraint__InferredAssignment_0_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4177:1: ( ( ( ']' ) ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4178:1: ( ( ']' ) )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4178:1: ( ( ']' ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4179:1: ( ']' )
            {
             before(grammarAccess.getConstraintAccess().getInferredRightSquareBracketKeyword_0_2_0()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4180:1: ( ']' )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4181:1: ']'
            {
             before(grammarAccess.getConstraintAccess().getInferredRightSquareBracketKeyword_0_2_0()); 
            match(input,36,FOLLOW_36_in_rule__Constraint__InferredAssignment_0_28380); 
             after(grammarAccess.getConstraintAccess().getInferredRightSquareBracketKeyword_0_2_0()); 

            }

             after(grammarAccess.getConstraintAccess().getInferredRightSquareBracketKeyword_0_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Constraint__InferredAssignment_0_2


    // $ANTLR start rule__Boolean__ValueAssignment
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4196:1: rule__Boolean__ValueAssignment : ( RULE_BOOL ) ;
    public final void rule__Boolean__ValueAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4200:1: ( ( RULE_BOOL ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4201:1: ( RULE_BOOL )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4201:1: ( RULE_BOOL )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4202:1: RULE_BOOL
            {
             before(grammarAccess.getBooleanAccess().getValueBOOLTerminalRuleCall_0()); 
            match(input,RULE_BOOL,FOLLOW_RULE_BOOL_in_rule__Boolean__ValueAssignment8419); 
             after(grammarAccess.getBooleanAccess().getValueBOOLTerminalRuleCall_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Boolean__ValueAssignment


    // $ANTLR start rule__Inclusion__TargetAssignment_0
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4211:1: rule__Inclusion__TargetAssignment_0 : ( ( RULE_ID ) ) ;
    public final void rule__Inclusion__TargetAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4215:1: ( ( ( RULE_ID ) ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4216:1: ( ( RULE_ID ) )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4216:1: ( ( RULE_ID ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4217:1: ( RULE_ID )
            {
             before(grammarAccess.getInclusionAccess().getTargetPropertyCrossReference_0_0()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4218:1: ( RULE_ID )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4219:1: RULE_ID
            {
             before(grammarAccess.getInclusionAccess().getTargetPropertyIDTerminalRuleCall_0_0_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Inclusion__TargetAssignment_08454); 
             after(grammarAccess.getInclusionAccess().getTargetPropertyIDTerminalRuleCall_0_0_1()); 

            }

             after(grammarAccess.getInclusionAccess().getTargetPropertyCrossReference_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Inclusion__TargetAssignment_0


    // $ANTLR start rule__Inclusion__ArgumentsAssignment_2_0
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4230:1: rule__Inclusion__ArgumentsAssignment_2_0 : ( ( RULE_ID ) ) ;
    public final void rule__Inclusion__ArgumentsAssignment_2_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4234:1: ( ( ( RULE_ID ) ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4235:1: ( ( RULE_ID ) )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4235:1: ( ( RULE_ID ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4236:1: ( RULE_ID )
            {
             before(grammarAccess.getInclusionAccess().getArgumentsVariableCrossReference_2_0_0()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4237:1: ( RULE_ID )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4238:1: RULE_ID
            {
             before(grammarAccess.getInclusionAccess().getArgumentsVariableIDTerminalRuleCall_2_0_0_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Inclusion__ArgumentsAssignment_2_08493); 
             after(grammarAccess.getInclusionAccess().getArgumentsVariableIDTerminalRuleCall_2_0_0_1()); 

            }

             after(grammarAccess.getInclusionAccess().getArgumentsVariableCrossReference_2_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Inclusion__ArgumentsAssignment_2_0


    // $ANTLR start rule__Inclusion__ArgumentsAssignment_2_1_1
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4249:1: rule__Inclusion__ArgumentsAssignment_2_1_1 : ( ( RULE_ID ) ) ;
    public final void rule__Inclusion__ArgumentsAssignment_2_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4253:1: ( ( ( RULE_ID ) ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4254:1: ( ( RULE_ID ) )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4254:1: ( ( RULE_ID ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4255:1: ( RULE_ID )
            {
             before(grammarAccess.getInclusionAccess().getArgumentsVariableCrossReference_2_1_1_0()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4256:1: ( RULE_ID )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4257:1: RULE_ID
            {
             before(grammarAccess.getInclusionAccess().getArgumentsVariableIDTerminalRuleCall_2_1_1_0_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Inclusion__ArgumentsAssignment_2_1_18532); 
             after(grammarAccess.getInclusionAccess().getArgumentsVariableIDTerminalRuleCall_2_1_1_0_1()); 

            }

             after(grammarAccess.getInclusionAccess().getArgumentsVariableCrossReference_2_1_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Inclusion__ArgumentsAssignment_2_1_1


    // $ANTLR start rule__Equation__LeftAssignment_0
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4268:1: rule__Equation__LeftAssignment_0 : ( ruleTopLevelExpression ) ;
    public final void rule__Equation__LeftAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4272:1: ( ( ruleTopLevelExpression ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4273:1: ( ruleTopLevelExpression )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4273:1: ( ruleTopLevelExpression )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4274:1: ruleTopLevelExpression
            {
             before(grammarAccess.getEquationAccess().getLeftTopLevelExpressionParserRuleCall_0_0()); 
            pushFollow(FOLLOW_ruleTopLevelExpression_in_rule__Equation__LeftAssignment_08567);
            ruleTopLevelExpression();
            _fsp--;

             after(grammarAccess.getEquationAccess().getLeftTopLevelExpressionParserRuleCall_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Equation__LeftAssignment_0


    // $ANTLR start rule__Equation__TypeAssignment_1
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4283:1: rule__Equation__TypeAssignment_1 : ( ruleEquationType ) ;
    public final void rule__Equation__TypeAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4287:1: ( ( ruleEquationType ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4288:1: ( ruleEquationType )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4288:1: ( ruleEquationType )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4289:1: ruleEquationType
            {
             before(grammarAccess.getEquationAccess().getTypeEquationTypeEnumRuleCall_1_0()); 
            pushFollow(FOLLOW_ruleEquationType_in_rule__Equation__TypeAssignment_18598);
            ruleEquationType();
            _fsp--;

             after(grammarAccess.getEquationAccess().getTypeEquationTypeEnumRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Equation__TypeAssignment_1


    // $ANTLR start rule__Equation__RightAssignment_2
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4298:1: rule__Equation__RightAssignment_2 : ( ruleTopLevelExpression ) ;
    public final void rule__Equation__RightAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4302:1: ( ( ruleTopLevelExpression ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4303:1: ( ruleTopLevelExpression )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4303:1: ( ruleTopLevelExpression )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4304:1: ruleTopLevelExpression
            {
             before(grammarAccess.getEquationAccess().getRightTopLevelExpressionParserRuleCall_2_0()); 
            pushFollow(FOLLOW_ruleTopLevelExpression_in_rule__Equation__RightAssignment_28629);
            ruleTopLevelExpression();
            _fsp--;

             after(grammarAccess.getEquationAccess().getRightTopLevelExpressionParserRuleCall_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Equation__RightAssignment_2


    // $ANTLR start rule__Addition__OperandsAssignment_1_1_0_1
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4313:1: rule__Addition__OperandsAssignment_1_1_0_1 : ( ruleMultiplication ) ;
    public final void rule__Addition__OperandsAssignment_1_1_0_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4317:1: ( ( ruleMultiplication ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4318:1: ( ruleMultiplication )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4318:1: ( ruleMultiplication )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4319:1: ruleMultiplication
            {
             before(grammarAccess.getAdditionAccess().getOperandsMultiplicationParserRuleCall_1_1_0_1_0()); 
            pushFollow(FOLLOW_ruleMultiplication_in_rule__Addition__OperandsAssignment_1_1_0_18660);
            ruleMultiplication();
            _fsp--;

             after(grammarAccess.getAdditionAccess().getOperandsMultiplicationParserRuleCall_1_1_0_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Addition__OperandsAssignment_1_1_0_1


    // $ANTLR start rule__Addition__OperandsAssignment_1_1_1
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4328:1: rule__Addition__OperandsAssignment_1_1_1 : ( ruleNegation ) ;
    public final void rule__Addition__OperandsAssignment_1_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4332:1: ( ( ruleNegation ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4333:1: ( ruleNegation )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4333:1: ( ruleNegation )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4334:1: ruleNegation
            {
             before(grammarAccess.getAdditionAccess().getOperandsNegationParserRuleCall_1_1_1_0()); 
            pushFollow(FOLLOW_ruleNegation_in_rule__Addition__OperandsAssignment_1_1_18691);
            ruleNegation();
            _fsp--;

             after(grammarAccess.getAdditionAccess().getOperandsNegationParserRuleCall_1_1_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Addition__OperandsAssignment_1_1_1


    // $ANTLR start rule__Multiplication__OperandsAssignment_1_1_1
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4343:1: rule__Multiplication__OperandsAssignment_1_1_1 : ( ruleDivision ) ;
    public final void rule__Multiplication__OperandsAssignment_1_1_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4347:1: ( ( ruleDivision ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4348:1: ( ruleDivision )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4348:1: ( ruleDivision )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4349:1: ruleDivision
            {
             before(grammarAccess.getMultiplicationAccess().getOperandsDivisionParserRuleCall_1_1_1_0()); 
            pushFollow(FOLLOW_ruleDivision_in_rule__Multiplication__OperandsAssignment_1_1_18722);
            ruleDivision();
            _fsp--;

             after(grammarAccess.getMultiplicationAccess().getOperandsDivisionParserRuleCall_1_1_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Multiplication__OperandsAssignment_1_1_1


    // $ANTLR start rule__Division__RightAssignment_1_2
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4358:1: rule__Division__RightAssignment_1_2 : ( ruleExponentiation ) ;
    public final void rule__Division__RightAssignment_1_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4362:1: ( ( ruleExponentiation ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4363:1: ( ruleExponentiation )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4363:1: ( ruleExponentiation )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4364:1: ruleExponentiation
            {
             before(grammarAccess.getDivisionAccess().getRightExponentiationParserRuleCall_1_2_0()); 
            pushFollow(FOLLOW_ruleExponentiation_in_rule__Division__RightAssignment_1_28753);
            ruleExponentiation();
            _fsp--;

             after(grammarAccess.getDivisionAccess().getRightExponentiationParserRuleCall_1_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Division__RightAssignment_1_2


    // $ANTLR start rule__Exponentiation__RightAssignment_1_2
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4373:1: rule__Exponentiation__RightAssignment_1_2 : ( rulePrimaryExpression ) ;
    public final void rule__Exponentiation__RightAssignment_1_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4377:1: ( ( rulePrimaryExpression ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4378:1: ( rulePrimaryExpression )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4378:1: ( rulePrimaryExpression )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4379:1: rulePrimaryExpression
            {
             before(grammarAccess.getExponentiationAccess().getRightPrimaryExpressionParserRuleCall_1_2_0()); 
            pushFollow(FOLLOW_rulePrimaryExpression_in_rule__Exponentiation__RightAssignment_1_28784);
            rulePrimaryExpression();
            _fsp--;

             after(grammarAccess.getExponentiationAccess().getRightPrimaryExpressionParserRuleCall_1_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Exponentiation__RightAssignment_1_2


    // $ANTLR start rule__Reference__VariableAssignment
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4388:1: rule__Reference__VariableAssignment : ( ( RULE_ID ) ) ;
    public final void rule__Reference__VariableAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4392:1: ( ( ( RULE_ID ) ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4393:1: ( ( RULE_ID ) )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4393:1: ( ( RULE_ID ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4394:1: ( RULE_ID )
            {
             before(grammarAccess.getReferenceAccess().getVariableVariableCrossReference_0()); 
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4395:1: ( RULE_ID )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4396:1: RULE_ID
            {
             before(grammarAccess.getReferenceAccess().getVariableVariableIDTerminalRuleCall_0_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Reference__VariableAssignment8819); 
             after(grammarAccess.getReferenceAccess().getVariableVariableIDTerminalRuleCall_0_1()); 

            }

             after(grammarAccess.getReferenceAccess().getVariableVariableCrossReference_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Reference__VariableAssignment


    // $ANTLR start rule__Constant__ValueAssignment
    // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4407:1: rule__Constant__ValueAssignment : ( RULE_BIG_INT ) ;
    public final void rule__Constant__ValueAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4411:1: ( ( RULE_BIG_INT ) )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4412:1: ( RULE_BIG_INT )
            {
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4412:1: ( RULE_BIG_INT )
            // ../org.eclipse.iota.xtext.ui/src-gen/org/eclipse/iota/xtext/ui/contentassist/antlr/internal/InternalIota.g:4413:1: RULE_BIG_INT
            {
             before(grammarAccess.getConstantAccess().getValueBIG_INTTerminalRuleCall_0()); 
            match(input,RULE_BIG_INT,FOLLOW_RULE_BIG_INT_in_rule__Constant__ValueAssignment8854); 
             after(grammarAccess.getConstantAccess().getValueBIG_INTTerminalRuleCall_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Constant__ValueAssignment


 

    public static final BitSet FOLLOW_ruleModule_in_entryRuleModule61 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleModule68 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Module__DefinitionsAssignment_in_ruleModule94 = new BitSet(new long[]{0x0000000000440002L});
    public static final BitSet FOLLOW_ruleDefinition_in_entryRuleDefinition122 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleDefinition129 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Definition__Group__0_in_ruleDefinition155 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAlternation_in_entryRuleAlternation182 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleAlternation189 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Alternation__Group__0_in_ruleAlternation215 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleParameter_in_entryRuleParameter242 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleParameter249 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Parameter__NameAssignment_in_ruleParameter275 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleProof_in_entryRuleProof302 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleProof309 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Proof__Group__0_in_ruleProof335 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleStep_in_entryRuleStep362 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleStep369 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Step__Group__0_in_ruleStep395 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRule_in_entryRuleRule422 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleRule429 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_ruleRule455 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleClause_in_entryRuleClause481 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleClause488 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Clause__Group__0_in_ruleClause514 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExistential_in_entryRuleExistential541 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleExistential548 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Existential__NameAssignment_in_ruleExistential574 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleConstraint_in_entryRuleConstraint601 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleConstraint608 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Constraint__Alternatives_in_ruleConstraint634 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleBasicConstraint_in_entryRuleBasicConstraint661 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleBasicConstraint668 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__BasicConstraint__Alternatives_in_ruleBasicConstraint694 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleBoolean_in_entryRuleBoolean721 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleBoolean728 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Boolean__ValueAssignment_in_ruleBoolean754 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleInclusion_in_entryRuleInclusion781 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleInclusion788 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Inclusion__Group__0_in_ruleInclusion814 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleEquation_in_entryRuleEquation841 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleEquation848 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Equation__Group__0_in_ruleEquation874 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAddition_in_entryRuleAddition901 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleAddition908 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Addition__Group__0_in_ruleAddition934 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleMultiplication_in_entryRuleMultiplication961 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleMultiplication968 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Multiplication__Group__0_in_ruleMultiplication994 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleDivision_in_entryRuleDivision1021 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleDivision1028 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Division__Group__0_in_ruleDivision1054 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExponentiation_in_entryRuleExponentiation1081 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleExponentiation1088 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Exponentiation__Group__0_in_ruleExponentiation1114 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleNegation_in_entryRuleNegation1141 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleNegation1148 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Negation__Group__0_in_ruleNegation1174 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTopLevelExpression_in_entryRuleTopLevelExpression1201 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleTopLevelExpression1208 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAddition_in_ruleTopLevelExpression1234 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePrimaryExpression_in_entryRulePrimaryExpression1260 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRulePrimaryExpression1267 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__PrimaryExpression__Alternatives_in_rulePrimaryExpression1293 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleReference_in_entryRuleReference1320 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleReference1327 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Reference__VariableAssignment_in_ruleReference1353 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleConstant_in_entryRuleConstant1380 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleConstant1387 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Constant__ValueAssignment_in_ruleConstant1413 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__EquationType__Alternatives_in_ruleEquationType1450 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Definition__Group_0_0__0_in_rule__Definition__Alternatives_01485 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Definition__Group_0_1__0_in_rule__Definition__Alternatives_01503 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Constraint__Group_0__0_in_rule__Constraint__Alternatives1536 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleBasicConstraint_in_rule__Constraint__Alternatives1554 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleBoolean_in_rule__BasicConstraint__Alternatives1586 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleInclusion_in_rule__BasicConstraint__Alternatives1603 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleEquation_in_rule__BasicConstraint__Alternatives1620 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Addition__Group_1_1_0__0_in_rule__Addition__Alternatives_1_11652 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Addition__OperandsAssignment_1_1_1_in_rule__Addition__Alternatives_1_11670 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleNegation_in_rule__PrimaryExpression__Alternatives1703 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleConstant_in_rule__PrimaryExpression__Alternatives1720 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleReference_in_rule__PrimaryExpression__Alternatives1737 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__PrimaryExpression__Group_3__0_in_rule__PrimaryExpression__Alternatives1754 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_13_in_rule__EquationType__Alternatives1788 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_14_in_rule__EquationType__Alternatives1809 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_15_in_rule__EquationType__Alternatives1830 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__EquationType__Alternatives1851 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Definition__Group__0__Impl_in_rule__Definition__Group__01884 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_rule__Definition__Group__1_in_rule__Definition__Group__01887 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Definition__Alternatives_0_in_rule__Definition__Group__0__Impl1914 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Definition__Group__1__Impl_in_rule__Definition__Group__11944 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_17_in_rule__Definition__Group__1__Impl1972 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Definition__Group_0_0__0__Impl_in_rule__Definition__Group_0_0__02007 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Definition__Group_0_0__1_in_rule__Definition__Group_0_0__02010 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_18_in_rule__Definition__Group_0_0__0__Impl2038 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Definition__Group_0_0__1__Impl_in_rule__Definition__Group_0_0__12069 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Definition__Group_0_0__2_in_rule__Definition__Group_0_0__12072 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Definition__Group_0_0__2__Impl_in_rule__Definition__Group_0_0__22130 = new BitSet(new long[]{0x0000000000080000L});
    public static final BitSet FOLLOW_rule__Definition__Group_0_0__3_in_rule__Definition__Group_0_0__22133 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Definition__NameAssignment_0_0_2_in_rule__Definition__Group_0_0__2__Impl2160 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Definition__Group_0_0__3__Impl_in_rule__Definition__Group_0_0__32190 = new BitSet(new long[]{0x0000000000100010L});
    public static final BitSet FOLLOW_rule__Definition__Group_0_0__4_in_rule__Definition__Group_0_0__32193 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_19_in_rule__Definition__Group_0_0__3__Impl2221 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Definition__Group_0_0__4__Impl_in_rule__Definition__Group_0_0__42252 = new BitSet(new long[]{0x0000000000100000L});
    public static final BitSet FOLLOW_rule__Definition__Group_0_0__5_in_rule__Definition__Group_0_0__42255 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Definition__Group_0_0_4__0_in_rule__Definition__Group_0_0__4__Impl2282 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Definition__Group_0_0__5__Impl_in_rule__Definition__Group_0_0__52313 = new BitSet(new long[]{0x00000008480800D0L});
    public static final BitSet FOLLOW_rule__Definition__Group_0_0__6_in_rule__Definition__Group_0_0__52316 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_20_in_rule__Definition__Group_0_0__5__Impl2344 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Definition__Group_0_0__6__Impl_in_rule__Definition__Group_0_0__62375 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Definition__BodyAssignment_0_0_6_in_rule__Definition__Group_0_0__6__Impl2402 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Definition__Group_0_0_4__0__Impl_in_rule__Definition__Group_0_0_4__02446 = new BitSet(new long[]{0x0000000000200002L});
    public static final BitSet FOLLOW_rule__Definition__Group_0_0_4__1_in_rule__Definition__Group_0_0_4__02449 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Definition__ParametersAssignment_0_0_4_0_in_rule__Definition__Group_0_0_4__0__Impl2476 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Definition__Group_0_0_4__1__Impl_in_rule__Definition__Group_0_0_4__12506 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Definition__Group_0_0_4_1__0_in_rule__Definition__Group_0_0_4__1__Impl2533 = new BitSet(new long[]{0x0000000000200002L});
    public static final BitSet FOLLOW_rule__Definition__Group_0_0_4_1__0__Impl_in_rule__Definition__Group_0_0_4_1__02568 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Definition__Group_0_0_4_1__1_in_rule__Definition__Group_0_0_4_1__02571 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_21_in_rule__Definition__Group_0_0_4_1__0__Impl2599 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Definition__Group_0_0_4_1__1__Impl_in_rule__Definition__Group_0_0_4_1__12630 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Definition__ParametersAssignment_0_0_4_1_1_in_rule__Definition__Group_0_0_4_1__1__Impl2657 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Definition__Group_0_1__0__Impl_in_rule__Definition__Group_0_1__02691 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Definition__Group_0_1__1_in_rule__Definition__Group_0_1__02694 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_22_in_rule__Definition__Group_0_1__0__Impl2722 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Definition__Group_0_1__1__Impl_in_rule__Definition__Group_0_1__12753 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Definition__Group_0_1__2_in_rule__Definition__Group_0_1__12756 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Definition__Group_0_1__2__Impl_in_rule__Definition__Group_0_1__22814 = new BitSet(new long[]{0x0000000000080000L});
    public static final BitSet FOLLOW_rule__Definition__Group_0_1__3_in_rule__Definition__Group_0_1__22817 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Definition__NameAssignment_0_1_2_in_rule__Definition__Group_0_1__2__Impl2844 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Definition__Group_0_1__3__Impl_in_rule__Definition__Group_0_1__32874 = new BitSet(new long[]{0x0000000000100010L});
    public static final BitSet FOLLOW_rule__Definition__Group_0_1__4_in_rule__Definition__Group_0_1__32877 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_19_in_rule__Definition__Group_0_1__3__Impl2905 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Definition__Group_0_1__4__Impl_in_rule__Definition__Group_0_1__42936 = new BitSet(new long[]{0x0000000000100000L});
    public static final BitSet FOLLOW_rule__Definition__Group_0_1__5_in_rule__Definition__Group_0_1__42939 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Definition__Group_0_1_4__0_in_rule__Definition__Group_0_1__4__Impl2966 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Definition__Group_0_1__5__Impl_in_rule__Definition__Group_0_1__52997 = new BitSet(new long[]{0x00000008480800D0L});
    public static final BitSet FOLLOW_rule__Definition__Group_0_1__6_in_rule__Definition__Group_0_1__53000 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_20_in_rule__Definition__Group_0_1__5__Impl3028 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Definition__Group_0_1__6__Impl_in_rule__Definition__Group_0_1__63059 = new BitSet(new long[]{0x0000000000800000L});
    public static final BitSet FOLLOW_rule__Definition__Group_0_1__7_in_rule__Definition__Group_0_1__63062 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Definition__PremiseAssignment_0_1_6_in_rule__Definition__Group_0_1__6__Impl3089 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Definition__Group_0_1__7__Impl_in_rule__Definition__Group_0_1__73119 = new BitSet(new long[]{0x00000008480800D0L});
    public static final BitSet FOLLOW_rule__Definition__Group_0_1__8_in_rule__Definition__Group_0_1__73122 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_23_in_rule__Definition__Group_0_1__7__Impl3150 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Definition__Group_0_1__8__Impl_in_rule__Definition__Group_0_1__83181 = new BitSet(new long[]{0x0000000002000002L});
    public static final BitSet FOLLOW_rule__Definition__Group_0_1__9_in_rule__Definition__Group_0_1__83184 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Definition__ConclusionAssignment_0_1_8_in_rule__Definition__Group_0_1__8__Impl3211 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Definition__Group_0_1__9__Impl_in_rule__Definition__Group_0_1__93241 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Definition__ProofAssignment_0_1_9_in_rule__Definition__Group_0_1__9__Impl3268 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Definition__Group_0_1_4__0__Impl_in_rule__Definition__Group_0_1_4__03319 = new BitSet(new long[]{0x0000000000200002L});
    public static final BitSet FOLLOW_rule__Definition__Group_0_1_4__1_in_rule__Definition__Group_0_1_4__03322 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Definition__ParametersAssignment_0_1_4_0_in_rule__Definition__Group_0_1_4__0__Impl3349 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Definition__Group_0_1_4__1__Impl_in_rule__Definition__Group_0_1_4__13379 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Definition__Group_0_1_4_1__0_in_rule__Definition__Group_0_1_4__1__Impl3406 = new BitSet(new long[]{0x0000000000200002L});
    public static final BitSet FOLLOW_rule__Definition__Group_0_1_4_1__0__Impl_in_rule__Definition__Group_0_1_4_1__03441 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Definition__Group_0_1_4_1__1_in_rule__Definition__Group_0_1_4_1__03444 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_21_in_rule__Definition__Group_0_1_4_1__0__Impl3472 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Definition__Group_0_1_4_1__1__Impl_in_rule__Definition__Group_0_1_4_1__13503 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Definition__ParametersAssignment_0_1_4_1_1_in_rule__Definition__Group_0_1_4_1__1__Impl3530 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Alternation__Group__0__Impl_in_rule__Alternation__Group__03564 = new BitSet(new long[]{0x0000000001000002L});
    public static final BitSet FOLLOW_rule__Alternation__Group__1_in_rule__Alternation__Group__03567 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Alternation__ClausesAssignment_0_in_rule__Alternation__Group__0__Impl3594 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Alternation__Group__1__Impl_in_rule__Alternation__Group__13624 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Alternation__Group_1__0_in_rule__Alternation__Group__1__Impl3651 = new BitSet(new long[]{0x0000000001000002L});
    public static final BitSet FOLLOW_rule__Alternation__Group_1__0__Impl_in_rule__Alternation__Group_1__03686 = new BitSet(new long[]{0x00000008480800D0L});
    public static final BitSet FOLLOW_rule__Alternation__Group_1__1_in_rule__Alternation__Group_1__03689 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_24_in_rule__Alternation__Group_1__0__Impl3717 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Alternation__Group_1__1__Impl_in_rule__Alternation__Group_1__13748 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Alternation__ClausesAssignment_1_1_in_rule__Alternation__Group_1__1__Impl3775 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Proof__Group__0__Impl_in_rule__Proof__Group__03809 = new BitSet(new long[]{0x0000000000000012L});
    public static final BitSet FOLLOW_rule__Proof__Group__1_in_rule__Proof__Group__03812 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_25_in_rule__Proof__Group__0__Impl3840 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Proof__Group__1__Impl_in_rule__Proof__Group__13871 = new BitSet(new long[]{0x0000000000000012L});
    public static final BitSet FOLLOW_rule__Proof__Group__2_in_rule__Proof__Group__13874 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Proof__Group__2__Impl_in_rule__Proof__Group__23932 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Proof__StepsAssignment_2_in_rule__Proof__Group__2__Impl3959 = new BitSet(new long[]{0x0000000000000012L});
    public static final BitSet FOLLOW_rule__Step__Group__0__Impl_in_rule__Step__Group__03996 = new BitSet(new long[]{0x0000000000000022L});
    public static final BitSet FOLLOW_rule__Step__Group__1_in_rule__Step__Group__03999 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Step__RuleAssignment_0_in_rule__Step__Group__0__Impl4026 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Step__Group__1__Impl_in_rule__Step__Group__14056 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Step__Group_1__0_in_rule__Step__Group__1__Impl4083 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Step__Group_1__0__Impl_in_rule__Step__Group_1__04118 = new BitSet(new long[]{0x0000000004000002L});
    public static final BitSet FOLLOW_rule__Step__Group_1__1_in_rule__Step__Group_1__04121 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Step__TargetAssignment_1_0_in_rule__Step__Group_1__0__Impl4148 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Step__Group_1__1__Impl_in_rule__Step__Group_1__14178 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Step__Group_1_1__0_in_rule__Step__Group_1__1__Impl4205 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Step__Group_1_1__0__Impl_in_rule__Step__Group_1_1__04240 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_rule__Step__Group_1_1__1_in_rule__Step__Group_1_1__04243 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_26_in_rule__Step__Group_1_1__0__Impl4271 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Step__Group_1_1__1__Impl_in_rule__Step__Group_1_1__14302 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Step__MatchAssignment_1_1_1_in_rule__Step__Group_1_1__1__Impl4329 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Clause__Group__0__Impl_in_rule__Clause__Group__04363 = new BitSet(new long[]{0x00000008400800D0L});
    public static final BitSet FOLLOW_rule__Clause__Group__1_in_rule__Clause__Group__04366 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Clause__Group_0__0_in_rule__Clause__Group__0__Impl4393 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Clause__Group__1__Impl_in_rule__Clause__Group__14424 = new BitSet(new long[]{0x0000000020000002L});
    public static final BitSet FOLLOW_rule__Clause__Group__2_in_rule__Clause__Group__14427 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Clause__ConstraintsAssignment_1_in_rule__Clause__Group__1__Impl4454 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Clause__Group__2__Impl_in_rule__Clause__Group__24484 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Clause__Group_2__0_in_rule__Clause__Group__2__Impl4511 = new BitSet(new long[]{0x0000000020000002L});
    public static final BitSet FOLLOW_rule__Clause__Group_0__0__Impl_in_rule__Clause__Group_0__04548 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Clause__Group_0__1_in_rule__Clause__Group_0__04551 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_27_in_rule__Clause__Group_0__0__Impl4579 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Clause__Group_0__1__Impl_in_rule__Clause__Group_0__14610 = new BitSet(new long[]{0x0000000010200000L});
    public static final BitSet FOLLOW_rule__Clause__Group_0__2_in_rule__Clause__Group_0__14613 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Clause__ExistentialsAssignment_0_1_in_rule__Clause__Group_0__1__Impl4640 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Clause__Group_0__2__Impl_in_rule__Clause__Group_0__24670 = new BitSet(new long[]{0x0000000010000000L});
    public static final BitSet FOLLOW_rule__Clause__Group_0__3_in_rule__Clause__Group_0__24673 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Clause__Group_0_2__0_in_rule__Clause__Group_0__2__Impl4700 = new BitSet(new long[]{0x0000000000200002L});
    public static final BitSet FOLLOW_rule__Clause__Group_0__3__Impl_in_rule__Clause__Group_0__34731 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_28_in_rule__Clause__Group_0__3__Impl4759 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Clause__Group_0_2__0__Impl_in_rule__Clause__Group_0_2__04798 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Clause__Group_0_2__1_in_rule__Clause__Group_0_2__04801 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_21_in_rule__Clause__Group_0_2__0__Impl4829 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Clause__Group_0_2__1__Impl_in_rule__Clause__Group_0_2__14860 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Clause__ExistentialsAssignment_0_2_1_in_rule__Clause__Group_0_2__1__Impl4887 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Clause__Group_2__0__Impl_in_rule__Clause__Group_2__04921 = new BitSet(new long[]{0x00000008400800D0L});
    public static final BitSet FOLLOW_rule__Clause__Group_2__1_in_rule__Clause__Group_2__04924 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_29_in_rule__Clause__Group_2__0__Impl4952 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Clause__Group_2__1__Impl_in_rule__Clause__Group_2__14983 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Clause__ConstraintsAssignment_2_1_in_rule__Clause__Group_2__1__Impl5010 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Constraint__Group_0__0__Impl_in_rule__Constraint__Group_0__05044 = new BitSet(new long[]{0x00000008000800D0L});
    public static final BitSet FOLLOW_rule__Constraint__Group_0__1_in_rule__Constraint__Group_0__05047 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_30_in_rule__Constraint__Group_0__0__Impl5075 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Constraint__Group_0__1__Impl_in_rule__Constraint__Group_0__15106 = new BitSet(new long[]{0x0000001000000000L});
    public static final BitSet FOLLOW_rule__Constraint__Group_0__2_in_rule__Constraint__Group_0__15109 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleBasicConstraint_in_rule__Constraint__Group_0__1__Impl5136 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Constraint__Group_0__2__Impl_in_rule__Constraint__Group_0__25165 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Constraint__InferredAssignment_0_2_in_rule__Constraint__Group_0__2__Impl5192 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Inclusion__Group__0__Impl_in_rule__Inclusion__Group__05228 = new BitSet(new long[]{0x0000000000080000L});
    public static final BitSet FOLLOW_rule__Inclusion__Group__1_in_rule__Inclusion__Group__05231 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Inclusion__TargetAssignment_0_in_rule__Inclusion__Group__0__Impl5258 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Inclusion__Group__1__Impl_in_rule__Inclusion__Group__15288 = new BitSet(new long[]{0x0000000000100010L});
    public static final BitSet FOLLOW_rule__Inclusion__Group__2_in_rule__Inclusion__Group__15291 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_19_in_rule__Inclusion__Group__1__Impl5319 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Inclusion__Group__2__Impl_in_rule__Inclusion__Group__25350 = new BitSet(new long[]{0x0000000000100000L});
    public static final BitSet FOLLOW_rule__Inclusion__Group__3_in_rule__Inclusion__Group__25353 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Inclusion__Group_2__0_in_rule__Inclusion__Group__2__Impl5380 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Inclusion__Group__3__Impl_in_rule__Inclusion__Group__35411 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_20_in_rule__Inclusion__Group__3__Impl5439 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Inclusion__Group_2__0__Impl_in_rule__Inclusion__Group_2__05478 = new BitSet(new long[]{0x0000000000200002L});
    public static final BitSet FOLLOW_rule__Inclusion__Group_2__1_in_rule__Inclusion__Group_2__05481 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Inclusion__ArgumentsAssignment_2_0_in_rule__Inclusion__Group_2__0__Impl5508 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Inclusion__Group_2__1__Impl_in_rule__Inclusion__Group_2__15538 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Inclusion__Group_2_1__0_in_rule__Inclusion__Group_2__1__Impl5565 = new BitSet(new long[]{0x0000000000200002L});
    public static final BitSet FOLLOW_rule__Inclusion__Group_2_1__0__Impl_in_rule__Inclusion__Group_2_1__05600 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Inclusion__Group_2_1__1_in_rule__Inclusion__Group_2_1__05603 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_21_in_rule__Inclusion__Group_2_1__0__Impl5631 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Inclusion__Group_2_1__1__Impl_in_rule__Inclusion__Group_2_1__15662 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Inclusion__ArgumentsAssignment_2_1_1_in_rule__Inclusion__Group_2_1__1__Impl5689 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Equation__Group__0__Impl_in_rule__Equation__Group__05723 = new BitSet(new long[]{0x000000000001E000L});
    public static final BitSet FOLLOW_rule__Equation__Group__1_in_rule__Equation__Group__05726 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Equation__LeftAssignment_0_in_rule__Equation__Group__0__Impl5753 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Equation__Group__1__Impl_in_rule__Equation__Group__15783 = new BitSet(new long[]{0x0000000800080050L});
    public static final BitSet FOLLOW_rule__Equation__Group__2_in_rule__Equation__Group__15786 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Equation__TypeAssignment_1_in_rule__Equation__Group__1__Impl5813 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Equation__Group__2__Impl_in_rule__Equation__Group__25843 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Equation__RightAssignment_2_in_rule__Equation__Group__2__Impl5870 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Addition__Group__0__Impl_in_rule__Addition__Group__05906 = new BitSet(new long[]{0x0000000880000002L});
    public static final BitSet FOLLOW_rule__Addition__Group__1_in_rule__Addition__Group__05909 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleMultiplication_in_rule__Addition__Group__0__Impl5936 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Addition__Group__1__Impl_in_rule__Addition__Group__15965 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Addition__Group_1__0_in_rule__Addition__Group__1__Impl5992 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Addition__Group_1__0__Impl_in_rule__Addition__Group_1__06027 = new BitSet(new long[]{0x0000000880000000L});
    public static final BitSet FOLLOW_rule__Addition__Group_1__1_in_rule__Addition__Group_1__06030 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Addition__Group_1__1__Impl_in_rule__Addition__Group_1__16088 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Addition__Alternatives_1_1_in_rule__Addition__Group_1__1__Impl6117 = new BitSet(new long[]{0x0000000880000002L});
    public static final BitSet FOLLOW_rule__Addition__Alternatives_1_1_in_rule__Addition__Group_1__1__Impl6129 = new BitSet(new long[]{0x0000000880000002L});
    public static final BitSet FOLLOW_rule__Addition__Group_1_1_0__0__Impl_in_rule__Addition__Group_1_1_0__06166 = new BitSet(new long[]{0x0000000800080050L});
    public static final BitSet FOLLOW_rule__Addition__Group_1_1_0__1_in_rule__Addition__Group_1_1_0__06169 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_31_in_rule__Addition__Group_1_1_0__0__Impl6197 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Addition__Group_1_1_0__1__Impl_in_rule__Addition__Group_1_1_0__16228 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Addition__OperandsAssignment_1_1_0_1_in_rule__Addition__Group_1_1_0__1__Impl6255 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Multiplication__Group__0__Impl_in_rule__Multiplication__Group__06289 = new BitSet(new long[]{0x0000000100000002L});
    public static final BitSet FOLLOW_rule__Multiplication__Group__1_in_rule__Multiplication__Group__06292 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleDivision_in_rule__Multiplication__Group__0__Impl6319 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Multiplication__Group__1__Impl_in_rule__Multiplication__Group__16348 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Multiplication__Group_1__0_in_rule__Multiplication__Group__1__Impl6375 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Multiplication__Group_1__0__Impl_in_rule__Multiplication__Group_1__06410 = new BitSet(new long[]{0x0000000100000000L});
    public static final BitSet FOLLOW_rule__Multiplication__Group_1__1_in_rule__Multiplication__Group_1__06413 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Multiplication__Group_1__1__Impl_in_rule__Multiplication__Group_1__16471 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Multiplication__Group_1_1__0_in_rule__Multiplication__Group_1__1__Impl6500 = new BitSet(new long[]{0x0000000100000002L});
    public static final BitSet FOLLOW_rule__Multiplication__Group_1_1__0_in_rule__Multiplication__Group_1__1__Impl6512 = new BitSet(new long[]{0x0000000100000002L});
    public static final BitSet FOLLOW_rule__Multiplication__Group_1_1__0__Impl_in_rule__Multiplication__Group_1_1__06549 = new BitSet(new long[]{0x0000000800080050L});
    public static final BitSet FOLLOW_rule__Multiplication__Group_1_1__1_in_rule__Multiplication__Group_1_1__06552 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_32_in_rule__Multiplication__Group_1_1__0__Impl6580 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Multiplication__Group_1_1__1__Impl_in_rule__Multiplication__Group_1_1__16611 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Multiplication__OperandsAssignment_1_1_1_in_rule__Multiplication__Group_1_1__1__Impl6638 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Division__Group__0__Impl_in_rule__Division__Group__06672 = new BitSet(new long[]{0x0000000200000002L});
    public static final BitSet FOLLOW_rule__Division__Group__1_in_rule__Division__Group__06675 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExponentiation_in_rule__Division__Group__0__Impl6702 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Division__Group__1__Impl_in_rule__Division__Group__16731 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Division__Group_1__0_in_rule__Division__Group__1__Impl6758 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Division__Group_1__0__Impl_in_rule__Division__Group_1__06793 = new BitSet(new long[]{0x0000000200000000L});
    public static final BitSet FOLLOW_rule__Division__Group_1__1_in_rule__Division__Group_1__06796 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Division__Group_1__1__Impl_in_rule__Division__Group_1__16854 = new BitSet(new long[]{0x0000000800080050L});
    public static final BitSet FOLLOW_rule__Division__Group_1__2_in_rule__Division__Group_1__16857 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_33_in_rule__Division__Group_1__1__Impl6885 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Division__Group_1__2__Impl_in_rule__Division__Group_1__26916 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Division__RightAssignment_1_2_in_rule__Division__Group_1__2__Impl6943 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Exponentiation__Group__0__Impl_in_rule__Exponentiation__Group__06979 = new BitSet(new long[]{0x0000000400000002L});
    public static final BitSet FOLLOW_rule__Exponentiation__Group__1_in_rule__Exponentiation__Group__06982 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePrimaryExpression_in_rule__Exponentiation__Group__0__Impl7009 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Exponentiation__Group__1__Impl_in_rule__Exponentiation__Group__17038 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Exponentiation__Group_1__0_in_rule__Exponentiation__Group__1__Impl7065 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Exponentiation__Group_1__0__Impl_in_rule__Exponentiation__Group_1__07100 = new BitSet(new long[]{0x0000000400000000L});
    public static final BitSet FOLLOW_rule__Exponentiation__Group_1__1_in_rule__Exponentiation__Group_1__07103 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Exponentiation__Group_1__1__Impl_in_rule__Exponentiation__Group_1__17161 = new BitSet(new long[]{0x0000000800080050L});
    public static final BitSet FOLLOW_rule__Exponentiation__Group_1__2_in_rule__Exponentiation__Group_1__17164 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_34_in_rule__Exponentiation__Group_1__1__Impl7192 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Exponentiation__Group_1__2__Impl_in_rule__Exponentiation__Group_1__27223 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Exponentiation__RightAssignment_1_2_in_rule__Exponentiation__Group_1__2__Impl7250 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Negation__Group__0__Impl_in_rule__Negation__Group__07286 = new BitSet(new long[]{0x0000000800080050L});
    public static final BitSet FOLLOW_rule__Negation__Group__1_in_rule__Negation__Group__07289 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_35_in_rule__Negation__Group__0__Impl7317 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Negation__Group__1__Impl_in_rule__Negation__Group__17348 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Negation__Group__2_in_rule__Negation__Group__17351 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePrimaryExpression_in_rule__Negation__Group__1__Impl7378 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Negation__Group__2__Impl_in_rule__Negation__Group__27407 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__PrimaryExpression__Group_3__0__Impl_in_rule__PrimaryExpression__Group_3__07471 = new BitSet(new long[]{0x0000000800080050L});
    public static final BitSet FOLLOW_rule__PrimaryExpression__Group_3__1_in_rule__PrimaryExpression__Group_3__07474 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_19_in_rule__PrimaryExpression__Group_3__0__Impl7502 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__PrimaryExpression__Group_3__1__Impl_in_rule__PrimaryExpression__Group_3__17533 = new BitSet(new long[]{0x0000000000100000L});
    public static final BitSet FOLLOW_rule__PrimaryExpression__Group_3__2_in_rule__PrimaryExpression__Group_3__17536 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAddition_in_rule__PrimaryExpression__Group_3__1__Impl7563 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__PrimaryExpression__Group_3__2__Impl_in_rule__PrimaryExpression__Group_3__27592 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_20_in_rule__PrimaryExpression__Group_3__2__Impl7620 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleDefinition_in_rule__Module__DefinitionsAssignment7662 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Definition__NameAssignment_0_0_27693 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleParameter_in_rule__Definition__ParametersAssignment_0_0_4_07724 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleParameter_in_rule__Definition__ParametersAssignment_0_0_4_1_17755 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAlternation_in_rule__Definition__BodyAssignment_0_0_67786 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Definition__NameAssignment_0_1_27817 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleParameter_in_rule__Definition__ParametersAssignment_0_1_4_07848 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleParameter_in_rule__Definition__ParametersAssignment_0_1_4_1_17879 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAlternation_in_rule__Definition__PremiseAssignment_0_1_67910 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAlternation_in_rule__Definition__ConclusionAssignment_0_1_87941 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleProof_in_rule__Definition__ProofAssignment_0_1_97972 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleClause_in_rule__Alternation__ClausesAssignment_08003 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleClause_in_rule__Alternation__ClausesAssignment_1_18034 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Parameter__NameAssignment8065 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleStep_in_rule__Proof__StepsAssignment_28096 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRule_in_rule__Step__RuleAssignment_08127 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Step__TargetAssignment_1_08158 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_BIG_INT_in_rule__Step__MatchAssignment_1_1_18189 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExistential_in_rule__Clause__ExistentialsAssignment_0_18220 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExistential_in_rule__Clause__ExistentialsAssignment_0_2_18251 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleConstraint_in_rule__Clause__ConstraintsAssignment_18282 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleConstraint_in_rule__Clause__ConstraintsAssignment_2_18313 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Existential__NameAssignment8344 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_36_in_rule__Constraint__InferredAssignment_0_28380 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_BOOL_in_rule__Boolean__ValueAssignment8419 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Inclusion__TargetAssignment_08454 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Inclusion__ArgumentsAssignment_2_08493 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Inclusion__ArgumentsAssignment_2_1_18532 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTopLevelExpression_in_rule__Equation__LeftAssignment_08567 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleEquationType_in_rule__Equation__TypeAssignment_18598 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTopLevelExpression_in_rule__Equation__RightAssignment_28629 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleMultiplication_in_rule__Addition__OperandsAssignment_1_1_0_18660 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleNegation_in_rule__Addition__OperandsAssignment_1_1_18691 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleDivision_in_rule__Multiplication__OperandsAssignment_1_1_18722 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExponentiation_in_rule__Division__RightAssignment_1_28753 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePrimaryExpression_in_rule__Exponentiation__RightAssignment_1_28784 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Reference__VariableAssignment8819 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_BIG_INT_in_rule__Constant__ValueAssignment8854 = new BitSet(new long[]{0x0000000000000002L});

}